Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
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






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

×