ALTERAR DADOS BANCO ACCESS C# +VB 2013

RDPISA 15/10/2017 01:30:10
#477152
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();

}

JABA 15/10/2017 02:14:47
#477154
Resposta escolhida
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]
RDPISA 15/10/2017 12:03:06
#477156
poxa cara obrigado vo testar aqui mas é isso mesmo acabei esquecendo vlw
RDPISA 16/10/2017 11:37:07
#477173
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 [Ô] ;)
KERPLUNK 16/10/2017 11:58:37
#477175
Do mesmo jeito que você adicionou os parâmetros dos valores, você adiciona o parâmetro da condição:

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