ALTERAR DADOS BANCO ACCESS C# +VB 2013
Quando Altero os dados do banco de dados Access.accdb e clico em salvar o programa altera todos os dados e não só o um. Por que segue o código me ajudem...
private void btn_EDSalvar_Click(object sender, EventArgs e)
{
string stcon = @[Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\BancoDados\\OneDrive\\Banco\\BancoDados\\Associacao.accdb[Ô];
string commando = [Ô]Update Turma2 set Data=@Data,Cadastro=@Cadastro,Nome=@Nome,DataNasci=@DataNasci,CPF=@CPF,RG=@RG,Endereço=@Endereço,
Numero=@Numero,Bairro=@Bairro,TelefoneFixo=@TelefoneFixo,Celular=@Celular,WhatsApp=@WhatsApp,Observação=@Observação [Ô];
OleDbConnection conn = new OleDbConnection(stcon);
OleDbCommand comm = new OleDbCommand(commando, conn);
comm.Parameters.Add([Ô]@Data[Ô], OleDbType.VarChar).Value = maskedTextBox12.Text;
comm.Parameters.Add([Ô]@Cadastro[Ô], OleDbType.VarChar).Value = textBox2.Text;
comm.Parameters.Add([Ô]@Nome[Ô], OleDbType.VarChar).Value = textBox3.Text;
comm.Parameters.Add([Ô]@DataNasci[Ô], OleDbType.VarChar).Value = maskedTextBox11.Text;
comm.Parameters.Add([Ô]@CPF[Ô], OleDbType.VarChar).Value = maskedTextBox10.Text;
comm.Parameters.Add([Ô]@RG[Ô], OleDbType.VarChar).Value = maskedTextBox9.Text;
comm.Parameters.Add([Ô]@Endereço[Ô], OleDbType.VarChar).Value = textBox4.Text;
comm.Parameters.Add([Ô]@Numero[Ô], OleDbType.VarChar).Value = textBox5.Text;
comm.Parameters.Add([Ô]@Bairro[Ô], OleDbType.VarChar).Value = textBox6.Text;
comm.Parameters.Add([Ô]@TelefoneFixo[Ô], OleDbType.VarChar).Value = maskedTextBox8.Text;
comm.Parameters.Add([Ô]@Celular[Ô], OleDbType.VarChar).Value = maskedTextBox7.Text;
comm.Parameters.Add([Ô]@WhatsApp[Ô], OleDbType.VarChar).Value = textBox7.Text;
comm.Parameters.Add([Ô]@Observação[Ô], OleDbType.VarChar).Value = textBox8.Text;
try
{
conn.Open();
comm.ExecuteNonQuery();
MessageBox.Show([Ô]Dados Alterados !!![Ô]);
}
catch (Exception E)
{
MessageBox.Show(E.Message);
}
finally
{
conn.Close();
}
private void btn_EDSalvar_Click(object sender, EventArgs e)
{
string stcon = @[Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\BancoDados\\OneDrive\\Banco\\BancoDados\\Associacao.accdb[Ô];
string commando = [Ô]Update Turma2 set Data=@Data,Cadastro=@Cadastro,Nome=@Nome,DataNasci=@DataNasci,CPF=@CPF,RG=@RG,Endereço=@Endereço,
Numero=@Numero,Bairro=@Bairro,TelefoneFixo=@TelefoneFixo,Celular=@Celular,WhatsApp=@WhatsApp,Observação=@Observação [Ô];
OleDbConnection conn = new OleDbConnection(stcon);
OleDbCommand comm = new OleDbCommand(commando, conn);
comm.Parameters.Add([Ô]@Data[Ô], OleDbType.VarChar).Value = maskedTextBox12.Text;
comm.Parameters.Add([Ô]@Cadastro[Ô], OleDbType.VarChar).Value = textBox2.Text;
comm.Parameters.Add([Ô]@Nome[Ô], OleDbType.VarChar).Value = textBox3.Text;
comm.Parameters.Add([Ô]@DataNasci[Ô], OleDbType.VarChar).Value = maskedTextBox11.Text;
comm.Parameters.Add([Ô]@CPF[Ô], OleDbType.VarChar).Value = maskedTextBox10.Text;
comm.Parameters.Add([Ô]@RG[Ô], OleDbType.VarChar).Value = maskedTextBox9.Text;
comm.Parameters.Add([Ô]@Endereço[Ô], OleDbType.VarChar).Value = textBox4.Text;
comm.Parameters.Add([Ô]@Numero[Ô], OleDbType.VarChar).Value = textBox5.Text;
comm.Parameters.Add([Ô]@Bairro[Ô], OleDbType.VarChar).Value = textBox6.Text;
comm.Parameters.Add([Ô]@TelefoneFixo[Ô], OleDbType.VarChar).Value = maskedTextBox8.Text;
comm.Parameters.Add([Ô]@Celular[Ô], OleDbType.VarChar).Value = maskedTextBox7.Text;
comm.Parameters.Add([Ô]@WhatsApp[Ô], OleDbType.VarChar).Value = textBox7.Text;
comm.Parameters.Add([Ô]@Observação[Ô], OleDbType.VarChar).Value = textBox8.Text;
try
{
conn.Open();
comm.ExecuteNonQuery();
MessageBox.Show([Ô]Dados Alterados !!![Ô]);
}
catch (Exception E)
{
MessageBox.Show(E.Message);
}
finally
{
conn.Close();
}
Faltou especificar qual registro você quer atualizar, para isso se usa a cláusula [Ô]WHERE[Ô].
string commando = [Ô]Update Turma2 set Data=@Data,Cadastro=@Cadastro,Nome=@Nome,DataNasci=@DataNasci,CPF=@CPF,RG=@RG,Endereço=@Endereço,
Numero=@Numero,Bairro=@Bairro,TelefoneFixo=@TelefoneFixo,Celular=@Celular,WhatsApp=@WhatsApp,Observação=@Observação [txt-color=#e80000]WHERE CampoIDdaTabela = [Ô] & NumeroDaID[/txt-color]
string commando = [Ô]Update Turma2 set Data=@Data,Cadastro=@Cadastro,Nome=@Nome,DataNasci=@DataNasci,CPF=@CPF,RG=@RG,Endereço=@Endereço,
Numero=@Numero,Bairro=@Bairro,TelefoneFixo=@TelefoneFixo,Celular=@Celular,WhatsApp=@WhatsApp,Observação=@Observação [txt-color=#e80000]WHERE CampoIDdaTabela = [Ô] & NumeroDaID[/txt-color]
poxa cara obrigado vo testar aqui mas é isso mesmo acabei esquecendo vlw
Citação::
Faltou especificar qual registro você quer atualizar, para isso se usa a cláusula [Ô]WHERE[Ô].
string commando = [Ô]Update Turma2 set Data=@Data,Cadastro=@Cadastro,Nome=@Nome,DataNasci=@DataNasci,CPF=@CPF,RG=@RG,Endereço=@Endereço,
Numero=@Numero,Bairro=@Bairro,TelefoneFixo=@TelefoneFixo,Celular=@Celular,WhatsApp=@WhatsApp,Observação=@Observação [txt-color=#e80000]WHERE CampoIDdaTabela = [Ô] & NumeroDaID[/txt-color]
Da erro(Erro(Syntax error(missing operador) in query expression [ô]@Cadastro = & textBox2.Text [Ô] ;)
Do mesmo jeito que você adicionou os parâmetros dos valores, você adiciona o parâmetro da condição:
Sugestões que serão úteis:
1 - Nomeie seus controles apropriadamente [Ô]textbox1[Ô], [Ô]textbox2[Ô] são péssimas idéias
2 - Tente entender o que está acontecendo, tente ver a [Ô]lógica[Ô] do código e não simplesmente copiar e colar
string commando = [Ô]Update Turma2 set Data=@Data,Cadastro=@Cadastro,Nome=@Nome,DataNasci=@DataNasci,CPF=@CPF,RG=@RG,Endereço=@Endereço,
Numero=@Numero,Bairro=@Bairro,TelefoneFixo=@TelefoneFixo,Celular=@Celular,WhatsApp=@WhatsApp,Observação=@Observação Where Cadastro = @Cadastro[Ô];
.....
comm.Parameters.Add([Ô]@Cadastro[Ô], OleDbType.VarChar).Value = NumeroDaID;
Sugestões que serão úteis:
1 - Nomeie seus controles apropriadamente [Ô]textbox1[Ô], [Ô]textbox2[Ô] são péssimas idéias
2 - Tente entender o que está acontecendo, tente ver a [Ô]lógica[Ô] do código e não simplesmente copiar e colar
Tópico encerrado , respostas não são mais permitidas