none
Update e Insert em access c# em um mesmo comando. RRS feed

  • Pergunta

  • Socorro!

    já tentei varias coisas e não consigo sou iniciante.

    tenho uma tabela produto (idProduto, descPrduto) e outra estoque(idEstoque, idProduto, QtdEstoque)

     

     

    con.Open();

    cmd =

    newOleDbCommand("UPDATE Produto SET qtdProduto = "+ aux + "  WHERE idProduto =  "+ idProd + ", INSERT INTO Estoque (idProduto, qtdEstoque) VALUES ("+ idProd + ", '"+ aux + "')", con);            

    cmd.ExecuteNonQuery();

    con.Close();

     Não funciona e não sei como fazer pra funcionar. O problema está no Insert da tabela estoque

    INSERT INTO Estoque (idProduto, qtdEstoque) VALUES ("+ idProd + ", '"+ aux + "')

    Se deixo só o insert da erro de Sobrecarga.

    Como posso fazer isso funcionar?

    idependente de como, preciso fazer um update em uma tabela e um insert na outra.

     

    quinta-feira, 4 de julho de 2013 04:03

Respostas

Todas as Respostas

  • Olá,

    Faça assim:

    con.Open();
    
    cmd = new OleDbCommand("UPDATE Produto SET qtdProduto = "+ aux + "  WHERE idProduto =  "+ idProd , con);            
    
    cmd.ExecuteNonQuery();
    
    cmd.CommandText = "INSERT INTO Estoque (idProduto, qtdEstoque) VALUES ("+ idProd + ", '"+ aux + "')";
    
    cmd.ExecuteNonQuery();
    
    con.Close();

    Lembrando que se o seu objetivo era usar transação o conceito é um pouco diferente, você tem que trabalhar com a classe OleDbTransaction
    quinta-feira, 4 de julho de 2013 11:17
  • Você deve fazer como o Israel mostrou.

    Alguns bancos de dados não permitem a execução de dois comandos simultaneos, e os que permitem você deve separa-los com ponto e virgula.

    comando1;comando2

    quinta-feira, 4 de julho de 2013 12:39
  • Continua dando sobrecarga
    sexta-feira, 5 de julho de 2013 01:40
  • Obrigado pela ajuda,

    já havia tentado dessa forma, só não sabia que estava certo. Fui verificar no banco de dados e o que estava dando sobrecarga era ele mesmo, pois na tabela estoque o campo idproduto estava como inteiro e na tabela produto o campo idproduto estava como inteirolongo.

    sexta-feira, 5 de julho de 2013 01:51