none
Update en c# RRS feed

  • Pregunta

  • Hola que tal tengo el siguiente código el cual ejecuta un update, ya hice pruebas de escritorio y cambia los valores correctamente y no manda ningún error,pero cuando termino de modificar estos valores no se modificaron realmente...

    No hace el cambio en la base de datos ni en el form... 

    este es el codigo

     public void ActualizarProducto(int idItem, string Clave, string nameProd, string divicion, string marca, Boolean estado, string nota, string descripcion, int total, DataGridView dgv)
            {
                try
                {
                    int retorno = 0;
                    using (SqlConnection conexion = Base.ObtenerConexion())
                    {
                        
                        SqlCommand cmd = new SqlCommand();
                        cmd.Connection = conexion;
                        cmd.CommandTimeout = 1000;
                        cmd.CommandText = "UPDATE Productos SET clave = @name, descripcion = @desc, division= @div, marca = @make, statusitem = @status, nota = @note, existencia = @exist WHERE id = @id";
                        cmd.Parameters.AddWithValue("@id",idItem);
                        cmd.Parameters.AddWithValue("@name", Clave);
                        cmd.Parameters.AddWithValue("@desc", nameProd);
                        cmd.Parameters.AddWithValue("@div", divicion);
                        cmd.Parameters.AddWithValue("@make", marca);
                        cmd.Parameters.AddWithValue("@status", estado);
                        cmd.Parameters.AddWithValue("@note", nota);
                        cmd.Parameters.AddWithValue("@exist", total);
                        
                        

                        MessageBox.Show(retorno.ToString());
                        if (retorno == 0)
                        {
                            ActualizarDesProducto(Clave, descripcion);
                            updateOpciones(dgv);
                            MessageBox.Show("Actualizado correctamente", "Administrador", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            closeForm = true;
                        }
                        conexion.Close();
                    }
                }
                catch (SqlException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }

    viernes, 26 de julio de 2019 19:10

Respuestas

  • hola

    no veo la linea

    cmd.ExecuteNonQuery();

    sino pones esa linea no se ejecuta nunca el update

    Ademas la variable "retorno" donde la actualizas con el valor que devuelve la ejecucion? siempre va a tener el mismo valor cero

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    viernes, 26 de julio de 2019 20:04
  • hola

    yo no veo ninguna linea en el codigo que nos muestras debajo de se parametro que menconas

    la base de datos esta en el servicio de sql server o esta integrada al Visual Studio ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 26 de julio de 2019 23:45
  • hola

    >>Mando a mostrar el dato retorno para ver si la sentencia se ejecuta

     cual es la respuesta? o la idea es generar suspenso :-)

    explica si se obtiene algun retorno de l ejecucion de la operacion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    sábado, 27 de julio de 2019 14:52

Todas las respuestas

  • hola

    no veo la linea

    cmd.ExecuteNonQuery();

    sino pones esa linea no se ejecuta nunca el update

    Ademas la variable "retorno" donde la actualizas con el valor que devuelve la ejecucion? siempre va a tener el mismo valor cero

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    viernes, 26 de julio de 2019 20:04
  • Si la linea debajo de cmd.Parameters.AddWithValue("@exist", total); aun asi no hace nada :/
    cmd.ExecuteNonQuery(); 
    viernes, 26 de julio de 2019 22:28
  • hola

    yo no veo ninguna linea en el codigo que nos muestras debajo de se parametro que menconas

    la base de datos esta en el servicio de sql server o esta integrada al Visual Studio ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 26 de julio de 2019 23:45
  • hola

    yo no veo ninguna linea en el codigo que nos muestras debajo de se parametro que menconas

    la base de datos esta en el servicio de sql server o esta integrada al Visual Studio ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Esta en el sefvicio de sql server hice algunas modificaciones pero sigue sin funcionar

     public void ActualizarProducto(int idItem, string Clave, string nameProd, string divicion, string marca, Boolean estado, string nota, string descripcion, int total, DataGridView dgv)
            {
                try
                {
                    int retorno = 0;
                    using (SqlConnection conexion = Base.ObtenerConexion())
                    {
                        
                        
                        SqlCommand cmd = new SqlCommand(string.Format( "UPDATE Productos SET clave = @name, descripcion = @desc, division= @div, marca = @make, statusitem = @status, nota = @note, existencia = @exist WHERE id = @id"),conexion);
                        cmd.Parameters.AddWithValue("@id",idItem);
                        cmd.Parameters.AddWithValue("@name", Clave);
                        cmd.Parameters.AddWithValue("@desc", nameProd);
                        cmd.Parameters.AddWithValue("@div", divicion);
                        cmd.Parameters.AddWithValue("@make", marca);
                        cmd.Parameters.AddWithValue("@status", estado);
                        cmd.Parameters.AddWithValue("@note", nota);
                        cmd.Parameters.AddWithValue("@exist", total);


                        retorno = cmd.ExecuteNonQuery();
                        
                        MessageBox.Show(retorno.ToString());
                        if (retorno > 0)
                        {
                            ActualizarDesProducto(Clave, descripcion);
                            updateOpciones(dgv);
                            MessageBox.Show("Actualizado correctamente", "Administrador", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            closeForm = true;
                        }
                        
                        conexion.Close();
                        
                    }
                }

    sábado, 27 de julio de 2019 14:43
  • hola

    yo no veo ninguna linea en el codigo que nos muestras debajo de se parametro que menconas

    la base de datos esta en el servicio de sql server o esta integrada al Visual Studio ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Esta en el sefvicio de sql server hice algunas modificaciones pero sigue sin funcionar

     public void ActualizarProducto(int idItem, string Clave, string nameProd, string divicion, string marca, Boolean estado, string nota, string descripcion, int total, DataGridView dgv)
            {
                try
                {
                    int retorno = 0;
                    using (SqlConnection conexion = Base.ObtenerConexion())
                    {
                        
                        
                        SqlCommand cmd = new SqlCommand(string.Format( "UPDATE Productos SET clave = @name, descripcion = @desc, division= @div, marca = @make, statusitem = @status, nota = @note, existencia = @exist WHERE id = @id"),conexion);
                        cmd.Parameters.AddWithValue("@id",idItem);
                        cmd.Parameters.AddWithValue("@name", Clave);
                        cmd.Parameters.AddWithValue("@desc", nameProd);
                        cmd.Parameters.AddWithValue("@div", divicion);
                        cmd.Parameters.AddWithValue("@make", marca);
                        cmd.Parameters.AddWithValue("@status", estado);
                        cmd.Parameters.AddWithValue("@note", nota);
                        cmd.Parameters.AddWithValue("@exist", total);


                        retorno = cmd.ExecuteNonQuery();
                        
                        MessageBox.Show(retorno.ToString());
                        if (retorno > 0)
                        {
                            ActualizarDesProducto(Clave, descripcion);
                            updateOpciones(dgv);
                            MessageBox.Show("Actualizado correctamente", "Administrador", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            closeForm = true;
                        }
                        
                        conexion.Close();
                        
                    }
                }

    Mando a mostrar el dato retorno para ver si la sentencia se ejecuta 
    sábado, 27 de julio de 2019 14:44
  • hola

    >>Mando a mostrar el dato retorno para ver si la sentencia se ejecuta

     cual es la respuesta? o la idea es generar suspenso :-)

    explica si se obtiene algun retorno de l ejecucion de la operacion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    sábado, 27 de julio de 2019 14:52
  • hola

    >>Mando a mostrar el dato retorno para ver si la sentencia se ejecuta

     cual es la respuesta? o la idea es generar suspenso :-)

    explica si se obtiene algun retorno de l ejecucion de la operacion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Se obtiene 0, no se ejecuta la sentencia
    • Propuesto como respuesta eRiver1 domingo, 28 de julio de 2019 9:30
    sábado, 27 de julio de 2019 14:58