Ir ao conteúdo
  • Cadastre-se

JEFFERSON CANDIDO

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

posts postados por JEFFERSON CANDIDO

  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 comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!