Ver Mensaje Individual
  #1  
Antiguo 09-06-2016
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 196
Reputación: 20
darkerbyte Va por buen camino
Unhappy Que tan confiable es MySQL

Saludos estimados colegas.

Estoy muy agradecido con todos los compañeros que hacen posible este foro, la verdad he aprendido muchísimo de ustedes.

Pues estoy atorado en un problema. Tengo un sistema de Punto de Venta, en el cual mi cliente ha tenido serios problemas ya que tenemos diferencias de existencias en sus inventarios.
Ya me volví loco haciendo cientos de pruebas de escritorio, sin embargo no he logrado que el programa me genere un solo error y al cliente en cambio, le generan múltiples errores.

Ya he revisado mi código, trazado los procesos una y otra vez, revisado las consultas que se mandan al servidor, etc.

Y me estaba preguntando si mi problema será quizá que no estoy usando la versión oficial de MySQL sino la que viene modificada en WAMP (http://www.wampserver.com/en/)
O quizá los controles del Delphi. Aquí pongo lo que estoy usando

WAMP 2.0 (MySQL 5.1.33, Motor InnoDB)
Delphi XE5
Zeos 7.1.4-stable

Disculpen si mi pregunta es hasta cierto punto ingenua, solo quisiera con la experiencia de ustedes descartar cualquier posibilidad.


El código que envío para registrar una venta es así, tengo una tabla de productos con un campo llamado 'Existencia', el sistema
conforme vende tiene que ir descontando. Pero hay veces en las que no hace el descuento de las piezas vendidas.

Código SQL [-]
START TRANSACTION;
INSERT INTO ventas(idVenta, fecha, hora, cliente, vendedor, turno, descuento)
                 VALUES (16, '2016-06-08', '22:19:12', 1, 2, 1, 0.00);
INSERT INTO ventas_partidas(idVenta, idProd, cantidad, precio_compra, precio_venta)
                  VALUES(16, 'PDE', 3.00, 29.00, 35.00);
UPDATE productos SET almacen=almacen-3.00 WHERE clave='PDE';   -- Esta instrucción es donde esta mi duda

Esto lo hago en un try, si se ejecuta correctamente envío una consulta con un "commit", de lo contrario envío "rollback"
Responder Con Cita