Usuário com melhor resposta
Ajuda com erro de systax sql

Pergunta
-
bom boa noite pessoal estou com um erro de syntax sql quando vou excluir um registro o MySqlException me retorna este erro
eu coloquei um breakPoint pra ver o que o MySqlCommando estava tentando executar e vi este resultado
vou postar o codigo para analise
private void ExcluirDados() { string strConnection = "Server=localhost;Database=sgoconsultorio;Uid=root;Pwd=224466;"; string strSQL = "DELETE FROM usuario WHERE = '"+ txtcodigo.Text +"' "; MySqlConnection con = new MySqlConnection(strConnection); MySqlCommand cmdExcluir = new MySqlCommand(strSQL, con); try { con.Open(); cmdExcluir.ExecuteNonQuery(); MessageBox.Show("Dados Excluidos com sucesso."); } catch (MySqlException myex) { MessageBox.Show("Error: " + myex.Message); } }
o que esta errado no código porque esta me retornando este erro ? e como posso resolve-lo?
- Editado draw4soft sexta-feira, 15 de abril de 2016 21:06
Respostas
-
Seu comando sql está errado, falta adicionar o campo " string strSQL = "DELETE FROM usuario WHERE = '"+ txtcodigo.Text +"' ";";
Exemplo se for o campo "IdUsuario"
string strSQL = "DELETE FROM usuario WHERE = IdUsuario '"+ txtcodigo.Text +"' ";
Do jeito que seu código está hoje, você pode sofrer um ataque de sql injection, correto seria:
MySqlConnection con = new MySqlConnection(strConnection);
MySqlCommand cmdExcluir = new MySqlCommand(strSQL, con);
cmdExcluir.Parameters.Add(SqlParameter("@IDUSUARIO", txtcodigo.Text));
try
{
con.Open();
cmdExcluir.ExecuteNonQuery();
MessageBox.Show("Dados Excluidos com sucesso.");
}
catch (MySqlException myex)
{
MessageBox.Show("Error: " + myex.Message);
}
- Marcado como Resposta Levi DomingosModerator sábado, 16 de abril de 2016 13:34
Todas as Respostas
-
Seu comando sql está errado, falta adicionar o campo " string strSQL = "DELETE FROM usuario WHERE = '"+ txtcodigo.Text +"' ";";
Exemplo se for o campo "IdUsuario"
string strSQL = "DELETE FROM usuario WHERE = IdUsuario '"+ txtcodigo.Text +"' ";
Do jeito que seu código está hoje, você pode sofrer um ataque de sql injection, correto seria:
MySqlConnection con = new MySqlConnection(strConnection);
MySqlCommand cmdExcluir = new MySqlCommand(strSQL, con);
cmdExcluir.Parameters.Add(SqlParameter("@IDUSUARIO", txtcodigo.Text));
try
{
con.Open();
cmdExcluir.ExecuteNonQuery();
MessageBox.Show("Dados Excluidos com sucesso.");
}
catch (MySqlException myex)
{
MessageBox.Show("Error: " + myex.Message);
}
- Marcado como Resposta Levi DomingosModerator sábado, 16 de abril de 2016 13:34
-
Seu comando sql está errado, falta adicionar o campo " string strSQL = "DELETE FROM usuario WHERE = '"+ txtcodigo.Text +"' ";";
Exemplo se for o campo "IdUsuario"
string strSQL = "DELETE FROM usuario WHERE = IdUsuario '"+ txtcodigo.Text +"' ";
Do jeito que seu código está hoje, você pode sofrer um ataque de sql injection, correto seria:
MySqlConnection con = new MySqlConnection(strConnection);
MySqlCommand cmdExcluir = new MySqlCommand(strSQL, con);
cmdExcluir.Parameters.Add(SqlParameter("@IDUSUARIO", txtcodigo.Text));
try
{
con.Open();
cmdExcluir.ExecuteNonQuery();
MessageBox.Show("Dados Excluidos com sucesso.");
}
catch (MySqlException myex)
{
MessageBox.Show("Error: " + myex.Message);
}
cmdExcluir.Parameters.Add("@idUsuario", txtcodigo.Text);
-
bom boa noite pessoal estou com um erro de syntax sql quando vou excluir um registro o MySqlException me retorna este erro
eu coloquei um breakPoint pra ver o que o MySqlCommando estava tentando executar e vi este resultado
vou postar o codigo para analise
private void ExcluirDados() { string strConnection = "Server=localhost;Database=sgoconsultorio;Uid=root;Pwd=224466;"; string strSQL = "DELETE FROM usuario WHERE = '"+ txtcodigo.Text +"' "; MySqlConnection con = new MySqlConnection(strConnection); MySqlCommand cmdExcluir = new MySqlCommand(strSQL, con); try { con.Open(); cmdExcluir.ExecuteNonQuery(); MessageBox.Show("Dados Excluidos com sucesso."); } catch (MySqlException myex) { MessageBox.Show("Error: " + myex.Message); } }
o que esta errado no código porque esta me retornando este erro ? e como posso resolve-lo?
Amigo, falta o WHERE ID = Valor.
private void ExcluirDados() { string strConnection = "Server=localhost;Database=sgoconsultorio;Uid=root;Pwd=224466;"; string strSQL = "DELETE FROM usuario WHERE ID = '"+ txtcodigo.Text +"' "; MySqlConnection con = new MySqlConnection(strConnection); MySqlCommand cmdExcluir = new MySqlCommand(strSQL, con); try { con.Open(); cmdExcluir.ExecuteNonQuery(); MessageBox.Show("Dados Excluidos com sucesso."); } catch (MySqlException myex) { MessageBox.Show("Error: " + myex.Message); } }
Para melhor segurança eu faria com parâmetros. Abraços. Se a resposta foi útil, marque como resposta.