Calo
31-03-2005, 20:53:26
gente, ante todo queria saludarlos...hace varios meses que estoy recorriendo el foro y aprendi mucho de uds. Hoy aproveche para registrarme y plantearles la siguiente duda
Estoy con un sistema en delphi y access 2000
Cuando quiero realizar un Instert como el siguiente me devuelve el siguiente cordigo de error:
El proveedor actual no admite que una unica ejecucion devuelva multiples recordsets.
Entiendo perfectamente...ahora no se me ocurre nada para solucionarlo.
Aca tengo el codigo
datamodule1.QRYHistFact.SQL.Clear;
datamodule1.QRYHistFact.SQL.Add('INSERT INTO factura ( id_pedido, id_producto, precio_A, precio_B, precio_C ) ');
datamodule1.QRYHistFact.SQL.Add('SELECT ProductoPedido.id_pedido, ProductoPedido.id_producto, productos.precio_A, productos.precio_B, productos.precio_C ');
datamodule1.QRYHistFact.SQL.Add('FROM ProductoPedido INNER JOIN productos ON ProductoPedido.id_producto = productos.id_producto ');
datamodule1.QRYHistFact.SQL.Add('WHERE ProductoPedido.id_pedido='+ inttostr(dbgrid1.SelectedField.Value));
frmprincipal.InitConsulta(datamodule1.QRYHistFact);
El initconsulta lo unico que hace es poner en prepared el query, lo abre, locierra y lo ejecuta.
Esta consulta devuelve un listado de productos, que se van a guardar en una tabla factura con con dos claves, el codigo del producto y el codigo del pedido.
Nada mas...espero que alguien me salve de esta!
Salu2
Calo
Estoy con un sistema en delphi y access 2000
Cuando quiero realizar un Instert como el siguiente me devuelve el siguiente cordigo de error:
El proveedor actual no admite que una unica ejecucion devuelva multiples recordsets.
Entiendo perfectamente...ahora no se me ocurre nada para solucionarlo.
Aca tengo el codigo
datamodule1.QRYHistFact.SQL.Clear;
datamodule1.QRYHistFact.SQL.Add('INSERT INTO factura ( id_pedido, id_producto, precio_A, precio_B, precio_C ) ');
datamodule1.QRYHistFact.SQL.Add('SELECT ProductoPedido.id_pedido, ProductoPedido.id_producto, productos.precio_A, productos.precio_B, productos.precio_C ');
datamodule1.QRYHistFact.SQL.Add('FROM ProductoPedido INNER JOIN productos ON ProductoPedido.id_producto = productos.id_producto ');
datamodule1.QRYHistFact.SQL.Add('WHERE ProductoPedido.id_pedido='+ inttostr(dbgrid1.SelectedField.Value));
frmprincipal.InitConsulta(datamodule1.QRYHistFact);
El initconsulta lo unico que hace es poner en prepared el query, lo abre, locierra y lo ejecuta.
Esta consulta devuelve un listado de productos, que se van a guardar en una tabla factura con con dos claves, el codigo del producto y el codigo del pedido.
Nada mas...espero que alguien me salve de esta!
Salu2
Calo