Usuário com melhor resposta
UPDATE no Banco de Dados

Pergunta
-
Estou com problemas no projeto da faculdade, nao consigo enxergar o erro nesse codigo:
private void btnAlterar_Click(object sender, EventArgs e)
{
if (txtNome.Text == "" || txtLocal.Text == "" || txtTipo.Text == "" || txtGolpe.Text == "")
{
MessageBox.Show("Campos sem preenchimento!");
return;
}
try
{
ConexaoPokedex.Open();
}
catch
{
MessageBox.Show("Impossível estabelecer conexão");
}
if (ConexaoPokedex.State == ConnectionState.Open)
{
//Se estiver aberta insere os dados na BD
MySqlCommand comando = new MySqlCommand("UPDATE Pokemon "+
" SET id = " + txtNro.Text + " "+
" , nome = '" + txtNome.Text + "' " +
" , tipo = '" + txtTipo.Text + "' "+
" , localizacao = '" + txtLocal.Text + "' "+
" , golpe = '" + txtGolpe.Text + "' "+
" WHERE id = " + id, ConexaoPokedex);
comando.BeginExecuteNonQuery();
MessageBox.Show("Alterado com sucesso!");
}
ConexaoPokedex.Close();
atualizaDGV();
}
Respostas
-
Arnaldo, na sua condição WHERE id = id, de onde está vindo os dados?
Esta variável ID está recebendo o valor do TextBox?
Abraços.
______________________________________________________
Onde tem Set ID está errado, teria que ser:
MySqlCommand comando = new MySqlCommand("UPDATE Pokemon "+ " SET nome = '" + txtNome.Text + "' " + " , tipo = '" + txtTipo.Text + "' "+ " , localizacao = '" + txtLocal.Text + "' "+ " , golpe = '" + txtGolpe.Text + "' "+ " WHERE id = " + txtNro.Text + " , ConexaoPokedex);
O update não atualiza o ID e sim os outros campos. A condição seria se o ID for igual ao informado, ok?
Abraços.
- Editado Lailson Conceição domingo, 19 de junho de 2016 02:02 acrescentei informações
- Marcado como Resposta Thales F Quintas segunda-feira, 20 de junho de 2016 13:28
-
Valeu Lailson, Salvou a Patria!
Obrigado!
- Marcado como Resposta Arnaldo Medeiros Jr sexta-feira, 1 de julho de 2016 00:33
Todas as Respostas
-
-
-
Arnaldo, na sua condição WHERE id = id, de onde está vindo os dados?
Esta variável ID está recebendo o valor do TextBox?
Abraços.
______________________________________________________
Onde tem Set ID está errado, teria que ser:
MySqlCommand comando = new MySqlCommand("UPDATE Pokemon "+ " SET nome = '" + txtNome.Text + "' " + " , tipo = '" + txtTipo.Text + "' "+ " , localizacao = '" + txtLocal.Text + "' "+ " , golpe = '" + txtGolpe.Text + "' "+ " WHERE id = " + txtNro.Text + " , ConexaoPokedex);
O update não atualiza o ID e sim os outros campos. A condição seria se o ID for igual ao informado, ok?
Abraços.
- Editado Lailson Conceição domingo, 19 de junho de 2016 02:02 acrescentei informações
- Marcado como Resposta Thales F Quintas segunda-feira, 20 de junho de 2016 13:28
-
Valeu Lailson, Salvou a Patria!
Obrigado!
- Marcado como Resposta Arnaldo Medeiros Jr sexta-feira, 1 de julho de 2016 00:33