Usuário com melhor resposta
Update em tabelas usando Access

Pergunta
-
Bom dia!
Tenho uma tabela que armazena o CPF, CNPJ, NOME, RAZÃO SOCIAL, NOME FANTASIA e ENDEREÇO, de clientes. Quando quero gravar clientes PF deixo os campos CNPJ, RAZÃO SOCIAL e NOME FANTASIA em branco, e vice-versa. O problema é que a minha instrução SQL não está atualizando os registros. Veja:
...
if (p == "f") //se pessoa física
{
cmd.CommandText = "UPDATE clientes SET nome= @nome, endereco= @endereco WHERE CPF= @CPF";
}
if (p == "j") //se pessoa jurídica
{
cmd.CommandText = "UPDATE clientes SET razaoSocial= @razaoSocial, nomeFantasia= @nomeFantasia, endereco= @endereco, telefone= @telefone, email= @email, status= @status WHERE CNPJ= @CNPJ";
}cmd.Parameters.AddWithValue("@CPF", mtbCPF.Text);
cmd.Parameters.AddWithValue("@CNPJ", mtbCNPJ.Text);
cmd.Parameters.AddWithValue("@razaoSocial", tbRazaoSocial.Text);
cmd.Parameters.AddWithValue("@nomeFantasia", tbNomeFantasia.Text);
cmd.Parameters.AddWithValue("@endereco", tbEndereco.Text);
cmd.Parameters.AddWithValue("@telefone", mtbTelefone.Text);
cmd.Parameters.AddWithValue("@email", tbEmail.Text);
...Alguém poderia me ajudar?
- Editado Junior_bits terça-feira, 29 de novembro de 2016 10:58
Respostas
-
Não é isso. O tamanho do campo na tabela é mais do que o suficiente. Eu acho que é a ordem em que os campos são informados na string SQL, não tenho certeza.
- Marcado como Resposta Junior_bits terça-feira, 29 de novembro de 2016 12:50
Todas as Respostas
-
Olá,
Verifique inicialmente 2 coisas
1) Os campos que você deixa em branco, aceitam nulos?
2) Você está fazendo o cmd.ExecuteNonQuery() abaixo desse código que postou, né?
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco -
-
E dá algum erro? Se sim, poste-o
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco -
-
Então precisa ajustar isso, deixar o campo da tabela com o tamanho condizente a informação que deseja armazenar, no caso do CPF é 11 dígitos atualmente (Sem pontos e traços)
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco -
Não é isso. O tamanho do campo na tabela é mais do que o suficiente. Eu acho que é a ordem em que os campos são informados na string SQL, não tenho certeza.
- Marcado como Resposta Junior_bits terça-feira, 29 de novembro de 2016 12:50