Erro no metodo?
13/01/2014
0
//Metodo de Inserir Funcionarios public static void InserirFuncionario(Funcionario _funcionario, string USUARIO, ErrorProvider erro,ComponentFactory.Krypton.Toolkit.KryptonTextBox caixa) { using (MySqlConnection conexaoMySQL = clsBanco.getInstancia().getConexao()) { try { string mSQL = "SELECT count(*) FROM FUNCIONARIOS WHERE USUARIO=@usuario"; MySqlCommand cmd = new MySqlCommand(mSQL, conexaoMySQL); cmd.Parameters.AddWithValue("@usuario", USUARIO); conexaoMySQL.Open(); int i = Convert.ToInt16(cmd.ExecuteScalar()); if (i == 0) { string _mSQL = "INSERT into funcionarios(NOME,APELIDO,CPF,CARGO,TELEFONE,CELULAR,USUARIO,SENHA) Values('" + _funcionario.NOME + "','" + _funcionario.APELIDO + "','" + _funcionario.CPF + "','" + _funcionario.CARGO + "','" + _funcionario.TELEFONE + "','" + _funcionario.CELULAR + "','" + _funcionario.USUARIO + "','" + _funcionario.SENHA + "')"; MySqlCommand _cmd = new MySqlCommand(_mSQL, conexaoMySQL); cmd.ExecuteNonQuery(); erro.SetError(caixa, ""); MessageBox.Show("Cadastro realizado com sucesso"); } if (i > 0) { conexaoMySQL.Close(); erro.SetError(caixa, "Já existe um usuario"); } } catch (MySqlException _erro) { MessageBox.Show("Erro ao cadastra:" + _erro); } // finally { conexaoMySQL.Close(); } } }
Raniel Gomes
Posts
14/01/2014
Pjava
value(" " + minhaclasse.meuvalor + "," + minhaclasse.outrovalor.........
14/01/2014
Leandro Chiodini
Amigo, primeiramente a dica que eu dou , tente deixar o codigo mais limpo, principalmente nas strigns de comandos,
para facilitar depois a tua vida na conferencia de possiveis erros.
que tal trocar o jeito que esta sendo feito por algo assim.
MySqlCommand command = new MySqlCommand(); string _mSQL = "INSERT into funcionarios(NOME,APELIDO,CPF,CARGO,TELEFONE,CELULAR,USUARIO,SENHA) Values('@NOME','@APELIDO','@CPF','@CARGO','@TELEFONE','@CELULAR','@USUARIO','@SENHA')"; command.CommandText = SQL; command.Parameters.Add("@NOME", _userName); command.Parameters.Add("@APELIDO", _apelido); command.Parameters.Add("@CPF", _cpf); command.Parameters.Add("@CARGO", _cargo); command.Parameters.Add("@TELEFONE", _telefone); command.Parameters.Add("@CELULAR", _celular); command.Parameters.Add("@USUARIO", _usuario); command.Parameters.Add("@SENHA", _senha); ...
ATt,
Chiodini
14/01/2014
Raniel Gomes
value(" " + minhaclasse.meuvalor + "," + minhaclasse.outrovalor.........
Tá ok amigo chegar em casa irei testar, o código está meio feio porque estou tentando descobrir o erro mais pretendo melhorar o código, obrigado pela dica :D
14/01/2014
Raniel Gomes
Amigo, primeiramente a dica que eu dou , tente deixar o codigo mais limpo, principalmente nas strigns de comandos,
para facilitar depois a tua vida na conferencia de possiveis erros.
que tal trocar o jeito que esta sendo feito por algo assim.
MySqlCommand command = new MySqlCommand(); string _mSQL = "INSERT into funcionarios(NOME,APELIDO,CPF,CARGO,TELEFONE,CELULAR,USUARIO,SENHA) Values('@NOME','@APELIDO','@CPF','@CARGO','@TELEFONE','@CELULAR','@USUARIO','@SENHA')"; command.CommandText = SQL; command.Parameters.Add("@NOME", _userName); command.Parameters.Add("@APELIDO", _apelido); command.Parameters.Add("@CPF", _cpf); command.Parameters.Add("@CARGO", _cargo); command.Parameters.Add("@TELEFONE", _telefone); command.Parameters.Add("@CELULAR", _celular); command.Parameters.Add("@USUARIO", _usuario); command.Parameters.Add("@SENHA", _senha); ...
ATt,
Chiodini
Obrigado pelas dicas amigos :-D
14/01/2014
Leandro Chiodini
no teu if
Voce compara
if(i == 0)
{}
depois
if (i > 0)
Pra melhorar o codigo você pode colocar um Else antes do segundo IF, para ele soh comparar caso nao entrar no primeiro.
da forma que esta ele vai comparar os dois, mesmo entrando em um ou em outro.
att,
Chiodini
14/01/2014
Leandro Chiodini
eu acredito que seja
pq neste caso de insert
ele nao esta fechando a conexao.
conexaoMySQL.Close();
essa instrução ta dentro do segundo IF
ou seja ele nao vai entrar e nao vai fechar a conexao..
tenta fechar a conexão no primeiro if tambem
que vai funcionar
valew
Chiodini
14/01/2014
Raniel Gomes
eu acredito que seja
pq neste caso de insert
ele nao esta fechando a conexao.
conexaoMySQL.Close();
essa instrução ta dentro do segundo IF
ou seja ele nao vai entrar e nao vai fechar a conexao..
tenta fechar a conexão no primeiro if tambem
que vai funcionar
valew
Chiodini
Retirei as aspas, fechei a conexão no segundo IF, mas continua do mesmo jeito :(
14/01/2014
Raniel Gomes
public static void InserirFuncionario(Funcionario _funcionario, string USUARIO, ErrorProvider erro,ComponentFactory.Krypton.Toolkit.KryptonTextBox caixa) { using (MySqlConnection conexaoMySQL = clsBanco.getInstancia().getConexao()) { try { string mSQL = "SELECT count(*) FROM FUNCIONARIOS WHERE USUARIO=@usuario"; MySqlCommand cmd = new MySqlCommand(mSQL, conexaoMySQL); cmd.Parameters.AddWithValue("@usuario", USUARIO); conexaoMySQL.Open(); int i = Convert.ToInt16(cmd.ExecuteScalar()); if (i == 0) { /* string _userName = _funcionario.NOME; string _apelido = _funcionario.APELIDO; string _cpf = _funcionario.; string _cargo = _funcionario.NOME; string _telefone = _funcionario.NOME; string _celular = _funcionario.NOME; string _usuario = _funcionario.NOME; string _senha = _funcionario.NOME; */ string msql = "INSERT into funcionarios(NOME,APELIDO,CPF,CARGO,TELEFONE,CELULAR,USUARIO,SENHA) Values(@NOME,@APELIDO,@CPF,@CARGO,@TELEFONE,@CELULAR,@USUARIO,@SENHA)"; MySqlCommand command = new MySqlCommand(msql, conexaoMySQL); command.Parameters.AddWithValue("@NOME", _funcionario.NOME); command.Parameters.AddWithValue("@APELIDO", _funcionario.APELIDO); command.Parameters.AddWithValue("@CPF", _funcionario.CPF); command.Parameters.AddWithValue("@CARGO", _funcionario.CARGO); command.Parameters.AddWithValue("@TELEFONE", _funcionario.TELEFONE); command.Parameters.AddWithValue("@CELULAR", _funcionario.CELULAR); command.Parameters.AddWithValue("@USUARIO", _funcionario.USUARIO); command.Parameters.AddWithValue("@SENHA", _funcionario.SENHA); command.ExecuteNonQuery(); erro.SetError(caixa, ""); MessageBox.Show("Cadastro realizado com sucesso"); conexaoMySQL.Close(); } if (i > 0) { conexaoMySQL.Close(); erro.SetError(caixa, "Já existe um usuario"); } } catch (MySqlException _erro) { MessageBox.Show("Erro ao cadastar:" + _erro); } // finally { conexaoMySQL.Close(); } } }
MessageBox.Show("Obrigado a todos os amigos que colaboraram :D","Alerta")
Clique aqui para fazer login e interagir na Comunidade :)