- ezquivel escribió:
- Hola programadores tengo una grandicima duda, como puedo modificar un dato de una tabla, por ejemplo en un punto de venta. tengo registrado un articulo y su numero de existencias pero al hacer una compra se supone que le restare uno a ese valor en mi base de datos. como modifico ese campo?
en windows form
Lo puedes usar directamente desde el SQL server, mediante un Trigger asi simplemente lo hara solo desde sql sin poner codigo ni nada a tu aplicacion, es mas rapido y no se tarda nada, por decir asi
tienes tus tablas de la BD por ejemplo detalle_Ventas y Productos
el trigger se crea en la tabla que se inserta, si tu sistema inserta(guarda) las ventas del dia seria en esta tabla detalle_Ventas (seria en este ejemplo adecualo a tus tablas de tu Base de Datos) entonces te bas desde el sql al manejador expandes la tabla de detalle_Ventas y te aparece carpetas como menu, keys,constrains, trigger indexes etc,.. En Triggers le das New Trigger y te crea una plantilla predefinida y modificas
un ejemplo seria asi del trigger de Existencia :
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER Trg_Existencia
ON venta_detalle
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
declare @Cantidad int,@ID_Producto int
Select @Cantidad = i.Cantidad,@ID_Producto = i.ID_Producto From inserted as i
Update Producto set Existencia = Existencia - @Cantidad
where ID_Producto=@ID_Producto
END
GO
-----------------------------------------------------------------------------------------
explico donde dice Create Trigger pone sun nombre a tu trigger en este caso Trg_Existencia, donde dice ON este indica donde procede o ejecuta el trigger, en este caso seria detalle_Ventas poq aqui guardariamos las ventas que realizamos, AFTER idica la accion que iniciara el trigger en este caso Descpues de INSERTAR datos a la tabla indicada anteriormente, declaramos las variables a usar (USA TUS VARIABLES DE TU BD, )en este ejemplo declaramos @Cantidad tipo entero y @ID_Producto que son los parametros que recivira para modificar la Existencia
El Select asignas la variable declarada con su mismo nombre pero antes i. poq poq mas adelante hace referencia a Inserted as i, lo que indica que es cuando insertamos
la ultima es la consulta normal un update el cual haces la modificacion a tu tabla, ya sea productos o como se llame,
lo que hace esa consulta es modificar la tabla Productos donde el ID_Producto sea el insertado en la tabla detalle_Ventas y modifica la Existencia - @Cantidad
la cantidad de productos que vendiste con el mismo identificador......
no se si me explique bien, alomejor suena un rollo pero es realmente facil hacerlo de esa manera y te despreocupas para poner codigo, sql lo hara por ti creando este Trigger, igual lo puedes hacer para devoluciones en dado caso de que tengas apartado de devoluciones por X cosa harias lo mismo pero en ves de restarle le sumas...
nose si me di a Explicar, si no cualquier cosa pregunta si te interesa de esta manera, saludos y animo
Nota: disculpa mi errores ortograficos