Ver Mensaje Individual
  #1  
Antiguo 21-04-2008
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 196
Reputación: 20
darkerbyte Va por buen camino
Unhappy Excepción en consulta!!!

Saludos, estimados colegas.

Pues ya me tienen otra vez aquí, solicitando de su valiosícima ayuda.
Esta vez deseo que me auxilien con un error que me sale al hacer una consulta.
Estoy haciendo un punto de venta. Cuando el usuario termina la venta y cobra el programa debe actualizar el inventario en una tabla llamada productos.
Tambíen dene insertar la venta en dos tablas, una que se llama 'venta' que
contiene datos de la venta como la fecha, cliente, cajero, etc.
Y la tabla 'pedidos' que contiene los detalles de la venta (esto es
numero de venta, clave del producto, cantidad, precio de venta, etc);
Usando diferentes algoritmos que incluyen hacer consultas a la base de datos
para verificar la existencia suficiente de los productos genero la siguiente
consulta (ejemplo)

Código SQL [-]
lock tables pedidos write, ventas write, productos write;
INSERT INTO ventas VALUES ('8','2008-04-20','1','3');
INSERT INTO pedidos VALUES('8','BIC-002','1','1','3800','4700');
UPDATE productos set almacen=9, exhibicion=1 where clave='BIC-002';
UNLOCK TABLES;

Despues mando a ejecutar la consulta, el procedimiento es este:

Código Delphi [-]
Dm.ZQ.Close;
Dm.ZQ.SQL.Clear;
DM.ZQ.SQL:=consulta;
DM.ZQ.ExecSQL;
consulta.Free;

Donde DM es un DataModule, ZQ es una ZQuery de ZeosLib ver 6.1, consulta es unTstrings que contiene la consulta arriba mencionada.

Luego cuando ejecuto la consulta me manda una exepción:

Project SISTAR.exe raised exception class EZSQLException with message
'SQL Error: You have an erro in your SQL syntax; check the manual thant corresponds to your MySQL server version for the right syntx to use near'
;INSERT INTO ventas VALUES ('8','2008-04-20','1','3');
INSERT INTO PEDIDOS VA
'at line 1'.
Process stopped. Use Step or Run to continue.

No se porqué manda error la consulta, he generado varias consultas con el programa (las capturo en un memo en vez de mandarlas a DM.ZQ) y las ejecuto en la consola tal cual y no me marca errores en la consola, pero si me marca error desde Delphi.

La conexión está bien, la sintaxis, segun la consola está bien, pero no entiendo porqué el error.
La base de datos está en MySQL 5, y trabajo sobre Delphi 7

Les agradecería enormemente que me ayudaran, necesito entregar el programa el día 23 de abril en la mañana y esto es practicamente lo único que me falta.

Última edición por darkerbyte fecha: 21-04-2008 a las 07:04:17. Razón: Aclarar pregunta
Responder Con Cita