Ir ao conteúdo
  • Cadastre-se
JEFFERSON CANDIDO

C# erro no comando update c# e access

Recommended Posts

Boa tarde. Sou novato em programação e preciso esclarecer uma dúvida.
Estou com problemas no UPDATE do banco que não está gravando.O programa está em C# com banco ACCESS
Passo os parâmetros e recebe corretamente sem erros, executa o SQL , cai no return TRUE só que não grava.Usei uma uma condição If no comando ExecuteNonQuery e ai que percebi que não entra.Meu Banco não tem cópia dentro do Visual Studio.Outros comandos estão gravando normalmente, só o UPDATE que não grava. Se eu rodar a query direto no DataSet pela querybilder  se eu colocar valores diretamente ela atualiza e por que pelo parâmetro da classe não funciona.

segue um trecho do código.
try
{
String SQL;

SQL = " UPDATE TBGPS SET NomeSolicitante = @NomeSolicitante, HoraSolicitante = @HoraSolicitante, NomeAdmGestao = @NomeAdmGestao," +
"HoraAdmGestao =@HoraAdmGestao , NomeAdmSeparacao = @NomeAdmSeparacao, HoraAdmSeparacao = @HoraAdmSeparacao, NomeSeparador = @NomeSeparador," +
"NomeRecepcao = NomeRecepcao, HoraRecepcao = @HoraRecepcao, Status = @Status, PorcConcluido = @PorcConcluido WHERE (((TBGPS.NumPedido )= @NumPedido))";

OleDbCommand cmd = new OleDbCommand(SQL, SAI.UTILITARIOS.ConexaoBanco.conexao);

cmd.Parameters.AddWithValue("@NomeSolicitante", NomeSolicitante);
cmd.Parameters.AddWithValue("@HoraSolicitante", HoraSolicitante);
cmd.Parameters.AddWithValue("@NomeAdmGestao", NomeAdmGestao);
cmd.Parameters.AddWithValue("@HoraAdmGestao", HoraAdmGestao);
cmd.Parameters.AddWithValue("@NomeAdmSeparacao", NomeAdmSeparacao);
cmd.Parameters.AddWithValue("@HoraAdmSeparacao", HoraAdmSeparacao);
cmd.Parameters.AddWithValue("@NomeSeparador", NomeSeparador);
cmd.Parameters.AddWithValue("@NomeRecepcao", NomeRecepcao);
cmd.Parameters.AddWithValue("@HoraRecepcao", HoraRecepcao);
cmd.Parameters.AddWithValue("@Status", Status);
cmd.Parameters.AddWithValue("@PorcConcluido", PorcConcluido);
cmd.Parameters.AddWithValue("@NumPedido", NumPedido);             ====================>  no Debug os parametros estão sendo passados corretamente.

cmd.CommandType = CommandType.Text;
cmd.Connection = SAI.UTILITARIOS.ConexaoBanco.conexao; 

if (cmd.ExecuteNonQuery() > 0)
{
//esta condição é somente para verificar se ocorreu modificação...
}
else                                                                                  =============================> está caindo neste trecho do código 
{
//não ocorreu modificação na tabela...
}
return true;                                                                      <============================= e retorna verdadeiro
}

Por favor, se alguém puder me ajudar agradeço. Fazendo manualmente pelo QueryBilder do diagrama do Dataset funciona, mas dentro da aplicação não.O que não entendo é que no Insert,Delete,Select tudo funciona.
Passo os valores de um Grid para os texbox , altero o que é necessário, e ao clicar em salvar dá erro.O código do botão salvar é esse:
private void btnSalvar_Click(object sender, EventArgs e)
{

SAI.UTILITARIOS.ConexaoBanco.conexao = new OleDbConnection(Properties.Settings.Default.CAMINHOBANCO + Properties.Settings.Default.PSW);
SAI.UTILITARIOS.ConexaoBanco.conexao.Open();


SAI.BANCO.TBGPS Gps = new SAI.BANCO.TBGPS(); // instancia para a variavel não vir nula.


Gps.NumPedido = Convert.ToInt32(txtNumPed.Text);
Gps.NomeSolicitante = txtAdmSolicitacao.Text;
Gps.HoraSolicitante = txtHrSolicitacao.Text;
Gps.NomeAdmGestao = txtAdmGestao.Text;
Gps.HoraAdmGestao = txtHrGestao.Text;
Gps.NomeAdmSeparacao = txtAdmSeparacao.Text;
Gps.HoraAdmSeparacao = txtHrSeparacao.Text;
Gps.NomeSeparador = txtNomeSeparador.Text;
Gps.NomeRecepcao = txtAdmRecepcao.Text;
Gps.HoraRecepcao = txtHrRecepcao.Text;
Gps.Status = cbStatus.Text;
Gps.PorcConcluido = Convert.ToInt32(txtPorcConcluido.Text);

Gps.Alterar();

Aguardo retorno e novamente obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×