none
Comando update não funciona RRS feed

  • Pergunta

  • Pessoal, Boa Noite

     

    Estou rodando este código, porém o valor não está sendo alterado no banco de dados:

     

    SqlConnection con = new SqlConnection(conex);

    con.Open();

    SqlTransaction tn = con.BeginTransaction();

    // --- Inicia Cancelamento do Pedido ---

    // Cria objeto Pedido

    Pedido PedHeader = new Pedido();

    PedHeader.NumPedido = Int32.Parse(((TextBox)FormViewPedido.FindControl("TextBoxNumPedido")).Text);

    //Cria String de update da tabela Pedido

    StringBuilder insertSQL = new StringBuilder();

    insertSQL.Append("UPDATE Pedido SET status_pedido='CANCELADO' WHERE num_pedido ="+PedHeader.NumPedido);

    SqlCommand cmmdPedido = new SqlCommand();

    cmmdPedido.CommandText = insertSQL.ToString();

    cmmdPedido.CommandType = CommandType.Text;

    cmmdPedido.Connection = con;

    cmmdPedido.Transaction = tn;

    cmmdPedido.ExecuteNonQuery();

     

    Estou rodando em modo debugging mas ele não da erro e também não altera o banco.

    Oque está errado no meu código ?

     

    Abraços

    quarta-feira, 5 de dezembro de 2007 22:13

Respostas

  • Luiz,

     

    Esse aí não me parece ser um problema de SQL sim da aplicação. Verifica se o  PedHeader.NumPedido está com valor. Pois se estiver sem não vai encontrar o registro a atualizar. Sendo assim nada de mudança no banco.

    Cara mas o que te aconselho é que não use querys dessa forma no programa. Existe diversas possibilidades de burlar a segurança e em termo de desempenho é bem mais lento do que se usasse uma procedure. Existe por "padrão" o uso para qualquer tipo de manipulação de dados num banco de dados, mesmo para um simples select, o uso de parâmetros com o uso de parametes na aplicação. Procure fazer dessa forma que sua aplicação serã mais segura e mais otimizada.

     

    Espero ter ajudado,

     

    Abraço,

     

    chapolin.rio@gmai.com

    quinta-feira, 6 de dezembro de 2007 01:50

Todas as Respostas

  • Luiz,

     

    Esse aí não me parece ser um problema de SQL sim da aplicação. Verifica se o  PedHeader.NumPedido está com valor. Pois se estiver sem não vai encontrar o registro a atualizar. Sendo assim nada de mudança no banco.

    Cara mas o que te aconselho é que não use querys dessa forma no programa. Existe diversas possibilidades de burlar a segurança e em termo de desempenho é bem mais lento do que se usasse uma procedure. Existe por "padrão" o uso para qualquer tipo de manipulação de dados num banco de dados, mesmo para um simples select, o uso de parâmetros com o uso de parametes na aplicação. Procure fazer dessa forma que sua aplicação serã mais segura e mais otimizada.

     

    Espero ter ajudado,

     

    Abraço,

     

    chapolin.rio@gmai.com

    quinta-feira, 6 de dezembro de 2007 01:50
  • Quanto ao numero do pedido ele esta pegando o valor correto !

    quinta-feira, 6 de dezembro de 2007 10:06