Usuário com melhor resposta
Comando update não funciona

Pergunta
-
Pessoal, Boa Noite
Estou rodando este código, porém o valor não está sendo alterado no banco de dados:
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
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
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
-