none
erro comando update RRS feed

  • Pergunta

  • Pessoal, estou com dificuldade no comando update, será que alguém poderia me ajudar ?  Simplesmente o comando não é executado e nem mesmo é mostrado mensagem de erro. Segue o código abaixo:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Data;
    public partial class _Default : System.Web.UI.Page
    {
        private ConexaoSql SqlConn;
        private string strConexao = @"Data Source=(local);Initial Catalog=cartorio;Integrated Security=SSPI";
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    protected void BtnAlterar_Click(object sender, EventArgs e)
        {
            SqlConnection conexao = new SqlConnection(strConexao);
            SqlCommand comando = new SqlCommand();
            string instrucaoSql = "update protocolo set"
                                   + "situacao=@situacao" 
                                   + "descPendencia=@descPendencia" 
                                   + "dtPendencia=@dtPendencia" 
                                   + "dtFinalizado=@dtFinalizado" 
                                   + "where id=@id";
            comando.Connection = conexao;
            comando.CommandType = CommandType.Text;
            comando.CommandText = instrucaoSql;
            comando.Parameters.AddWithValue("@id", protocolo.Text);
            comando.Parameters.AddWithValue("@situacao", situacao.Text);
            comando.Parameters.AddWithValue("@descPendencia", descPendencia.Text);
            comando.Parameters.AddWithValue("@dtPendencia", dtPendencia.Text);
            comando.Parameters.AddWithValue("@dtFinalizado", dtFinalizado.Text);
            try
            {
                conexao.Open();
                comando.ExecuteNonQuery();
                lblAlteracaoSucesso.Text = "Alteração realizada!!";
            }
            catch (Exception)
            {
                lblErro.Text = "Protocolo não alterado. Erro";
            }
        }

    Simplesmente o comando não é executado, e nem mesmo é mostrado mensagem de erro.

    obrigado a todos.

    terça-feira, 27 de março de 2012 18:03

Respostas

  • Olá amigo, vc esqueceu de colocar as ',' quando vc passa o set.

    segue.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Data;
    public partial class _Default : System.Web.UI.Page
    {
        private ConexaoSql SqlConn;
        private string strConexao = @"Data Source=(local);Initial Catalog=cartorio;Integrated Security=SSPI";
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    protected void BtnAlterar_Click(object sender, EventArgs e)
        {
            SqlConnection conexao = new SqlConnection(strConexao);
            SqlCommand comando = new SqlCommand();
            string instrucaoSql = "update protocolo set"
                                   + "situacao = @situacao, " 
                                   + "descPendencia = @descPendencia, " 
                                   + "dtPendencia = @dtPendencia, " 
                                   + "dtFinalizado = @dtFinalizado" 
                                   + "where id = @id";
            comando.Connection = conexao;
            comando.CommandType = CommandType.Text;
            comando.CommandText = instrucaoSql;
            comando.Parameters.AddWithValue("@id", protocolo.Text);
            comando.Parameters.AddWithValue("@situacao", situacao.Text);
            comando.Parameters.AddWithValue("@descPendencia", descPendencia.Text);
            comando.Parameters.AddWithValue("@dtPendencia", dtPendencia.Text);
            comando.Parameters.AddWithValue("@dtFinalizado", dtFinalizado.Text);
            try
            {
                conexao.Open();
                comando.ExecuteNonQuery();
                lblAlteracaoSucesso.Text = "Alteração realizada!!";
            }
            catch (Exception)
            {
                lblErro.Text = "Protocolo não alterado. Erro";
            }
        }


    CASO A RESPOSTA TENHA AJUDADO FAVOR MARCAR COMO RESPONDIDA.

    quarta-feira, 28 de março de 2012 17:16

Todas as Respostas

  • Arthur,

    Sua instrução SQL está errada. Você precisa separar os campos por vírgula.

    Tentei isso:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Data;
    public partial class _Default : System.Web.UI.Page
    {
        private ConexaoSql SqlConn;
        private string strConexao = @"Data Source=(local);Initial Catalog=cartorio;Integrated Security=SSPI";
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    protected void BtnAlterar_Click(object sender, EventArgs e)
        {
            SqlConnection conexao = new SqlConnection(strConexao);
            SqlCommand comando = new SqlCommand();
            string instrucaoSql = "update protocolo set"
                                   + "situacao=@situacao," 
                                   + "descPendencia=@descPendencia," 
                                   + "dtPendencia=@dtPendencia," 
                                   + "dtFinalizado=@dtFinalizado" 
                                   + "where id=@id";
            comando.Connection = conexao;
            comando.CommandType = CommandType.Text;
            comando.CommandText = instrucaoSql;
            comando.Parameters.AddWithValue("@id", protocolo.Text);
            comando.Parameters.AddWithValue("@situacao", situacao.Text);
            comando.Parameters.AddWithValue("@descPendencia", descPendencia.Text);
            comando.Parameters.AddWithValue("@dtPendencia", dtPendencia.Text);
            comando.Parameters.AddWithValue("@dtFinalizado", dtFinalizado.Text);
            try
            {
                conexao.Open();
                comando.ExecuteNonQuery();
                lblAlteracaoSucesso.Text = "Alteração realizada!!";
            }
            catch (Exception)
            {
                lblErro.Text = "Protocolo não alterado. Erro";
            }
        }


    Carlos Eduardo Ferreira



    terça-feira, 27 de março de 2012 19:04
  • Amigo, fiz a alteração que me informou, porém a situação continua a mesma, mas de qualquer forma agradeço pela dica. Será que saberia me informar como faço para executar o comando linha por linha no visual studio?

    obrigado.

    quarta-feira, 28 de março de 2012 01:09
  • Camarada para executar linha a linha vá até onde deseja iniciar o debug e pressione F9.

    Esta linha ficará marcada com um ponto vermelho a esquerda. Rode a aplicação com F5.

    A execução ficará parada na linha marcada. Use F10 para rodar linha a linha.

    Você tem certeza que o conteúdo @ID existe no banco de dados?


    Ninguém falou que seria fácil!

    quarta-feira, 28 de março de 2012 01:20
  • Arthur,

    Tente isso:

    Obs: A query que você está concatenando está sem espaços.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Data;
    public partial class _Default : System.Web.UI.Page
    {
        private ConexaoSql SqlConn;
        private string strConexao = @"Data Source=(local);Initial Catalog=cartorio;Integrated Security=SSPI";
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    protected void BtnAlterar_Click(object sender, EventArgs e)
        {
            SqlConnection conexao = new SqlConnection(strConexao);
            SqlCommand comando = new SqlCommand();
            string instrucaoSql = "update protocolo set "
                                   + "situacao=@situacao, " 
                                   + "descPendencia=@descPendencia, " 
                                   + "dtPendencia=@dtPendencia, " 
                                   + "dtFinalizado=@dtFinalizado " 
                                   + "where id=@id";
            comando.Connection = conexao;
            comando.CommandType = CommandType.Text;
            comando.CommandText = instrucaoSql;
            comando.Parameters.AddWithValue("@id", protocolo.Text);
            comando.Parameters.AddWithValue("@situacao", situacao.Text);
            comando.Parameters.AddWithValue("@descPendencia", descPendencia.Text);
            comando.Parameters.AddWithValue("@dtPendencia", dtPendencia.Text);
            comando.Parameters.AddWithValue("@dtFinalizado", dtFinalizado.Text);
            try
            {
                conexao.Open();
                comando.ExecuteNonQuery();
                lblAlteracaoSucesso.Text = "Alteração realizada!!";
            }
            catch (Exception)
            {
                lblErro.Text = "Protocolo não alterado. Erro";
            }
        }


    Carlos Eduardo Ferreira

    quarta-feira, 28 de março de 2012 02:38
  • Olá amigo, vc esqueceu de colocar as ',' quando vc passa o set.

    segue.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Data;
    public partial class _Default : System.Web.UI.Page
    {
        private ConexaoSql SqlConn;
        private string strConexao = @"Data Source=(local);Initial Catalog=cartorio;Integrated Security=SSPI";
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    protected void BtnAlterar_Click(object sender, EventArgs e)
        {
            SqlConnection conexao = new SqlConnection(strConexao);
            SqlCommand comando = new SqlCommand();
            string instrucaoSql = "update protocolo set"
                                   + "situacao = @situacao, " 
                                   + "descPendencia = @descPendencia, " 
                                   + "dtPendencia = @dtPendencia, " 
                                   + "dtFinalizado = @dtFinalizado" 
                                   + "where id = @id";
            comando.Connection = conexao;
            comando.CommandType = CommandType.Text;
            comando.CommandText = instrucaoSql;
            comando.Parameters.AddWithValue("@id", protocolo.Text);
            comando.Parameters.AddWithValue("@situacao", situacao.Text);
            comando.Parameters.AddWithValue("@descPendencia", descPendencia.Text);
            comando.Parameters.AddWithValue("@dtPendencia", dtPendencia.Text);
            comando.Parameters.AddWithValue("@dtFinalizado", dtFinalizado.Text);
            try
            {
                conexao.Open();
                comando.ExecuteNonQuery();
                lblAlteracaoSucesso.Text = "Alteração realizada!!";
            }
            catch (Exception)
            {
                lblErro.Text = "Protocolo não alterado. Erro";
            }
        }


    CASO A RESPOSTA TENHA AJUDADO FAVOR MARCAR COMO RESPONDIDA.

    quarta-feira, 28 de março de 2012 17:16