Ir ao conteúdo
  • Cadastre-se

JEFFERSON CANDIDO

Membros Juniores
  • Total de itens

    2
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Boa noite. Preciso atualizar os dados em uma tabela no banco através de uma datagridview. Ou seja, faço a consulta de um pedido (Ex.: pedido nº 4) e carrego os itens pertencentes a este pedido no grid. (ex.: 4,101020,descartáveis,5,cxs; 4,202020,papel aluminio,10,und; 4,303030,copo café,1000, pç; Faço a edição direto no grid dos itens que serão alterados . (ex.: 4,101020,descartáveis,30,cxs; 4,202020,papel ondulado,10,und; 4, 303030,copo café,1000, pç; Como posso criar um comando UPDATE para percorrer este grid e alterar os dados deste pedido no banco conforme foi editado ? Estou usando C# e banco ACCESS. Até criei um comando for . Só que ai atualizou todos as linhas da tabela onde tem o pedido nº 4 ficando todas iguais assim: (ex.: 4,101020,descartáveis,30,cxs; 4,101020,descartáveis,30,cxs; 4,101020,descartáveis,30,cxs; Se alguém puder ajudar agradeço.
  2. 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.

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

×