none
Obtener valor SQL y sumarle otro RRS feed

  • Pregunta

  • Hola, tengo un campo int en una tabla y necesito sumarle un valor que me ingresa por un txt. Es para añadir un stock. Esto es lo que tengo hecho por el momento

    public void AñadirStock(string codigo, int cantidad)
            {
                string consulta = "UPDATE Producto SET [cantidadProducto] = @canProducto WHERE [codigoProducto] = '"+codigo+"';";
                SqlCommand comando = new SqlCommand(consulta, conexion);
                comando.Parameters.AddWithValue("@canProducto", cantidad);
    
                int filasSelec = comando.ExecuteNonQuery();
    
                if (filasSelec > 0)
                {
                    MessageBox.Show("Operacion realizada", "DB", MessageBoxButtons.OK, MessageBoxIcon.Information);
    
                }
                else
                {
                    MessageBox.Show("Operacion no realizada", "DB", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

    Lo que pasa es que ahi sobreescribo lo que tengo guardado en la DB con lo que ingrese en el txt, me faltaria antes de realizar ese paso obtener el valor que hay en la db para poder sumarlo pero no se como hacerlo. 

    Y la ultima cosa que quisiera saber tambien es como obtener de vuelta el valor que se quedo guardado para poder mostrarlo en un txt diferente.

    Gracias

    miércoles, 28 de marzo de 2018 13:36

Respuestas

  • Es claro, estás asignando un nuevo valor a la columna y no acumulando sobre el valor existente.

    UPDATE Producto SET cantidadProducto = cantidadProducto + @canProducto WHERE ...

    o mediante el operador compuesto +=

    UPDATE Producto SET cantidadProducto += @canProducto WHERE...

    Para recuperar el nuevo valor es claro que debes de hacer una consulta de selección, ya sea como parte de la instrucción de actualización o como una consulta aparte.

    miércoles, 28 de marzo de 2018 13:44

Todas las respuestas

  • Es claro, estás asignando un nuevo valor a la columna y no acumulando sobre el valor existente.

    UPDATE Producto SET cantidadProducto = cantidadProducto + @canProducto WHERE ...

    o mediante el operador compuesto +=

    UPDATE Producto SET cantidadProducto += @canProducto WHERE...

    Para recuperar el nuevo valor es claro que debes de hacer una consulta de selección, ya sea como parte de la instrucción de actualización o como una consulta aparte.

    miércoles, 28 de marzo de 2018 13:44
  • Hola! Justo encontre un tema y vi como sumar, no sabia que era eso solo jaja gracias! Lo que no me sale es como obtener el valor para ponerlo en un txt, ya tengo metodos para obtener el valor de una columna en especifico pero los guardo en ComboBox y no en TXT entonces no se que funcion usar para que me los acepte los txt.

    Gracias por tu respuesta tan rapida!

    miércoles, 28 de marzo de 2018 14:04
  • hola

    >>Lo que no me sale es como obtener el valor para ponerlo en un txt, ya tengo metodos para obtener el valor de una columna en especifico pero los guardo en ComboBox y no en TXT

    Pero un combo o un textbox es lo mismo, si es que por txt te refieres a un textbox y no a un archivo .txt

    No se como estas accediendo a los datos actualmente, pero recomendaria definas una capa de datos

    [WinForms] Edición Empleados

    como explico en el articulo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 28 de marzo de 2018 14:32