Pasar datos de un cursor a tabla en MySQL

Tengo un formulario para facturación que antes lo utilizaba con dbf pero ahora necesito utilizar MySQL, el proceso de rebajar items del inventario me corre, todo está bien, el único problema que tengo es al querer pasar los datos del cursor a la tabla permanente.

Hago esto:

TEXT TO PDA NOSHOW
INSERT INTO DETA_VENTAS FROM DBF("TEMPORAL")
ENDTEXT
SQLEXEC(AURORA, PDA)

Pero no se guarda, la estructura del cursor es igual a la de la tabla. Usando las tablas nativas de VFP corre normal, ¿en qué está el problema?

2 respuestas

Respuesta
1

He logrado hacer que se guarde en la tabla permanente el contenido del cursor temporal de esta manera:


SELECT TEMPORAL
GO TOP
TEXT TO PDA NOSHOW
INSERT INTO DETA_VENTAS (factura, codigo, producto, oferta, grupo, marca, cantidad, precio, precio_venta2, subtotal, isv, dto, total) VALUES (?temporal.factura, ?temporal.codigo, ?temporal.producto, ?temporal.oferta, ?temporal.grupo, ?temporal.marca, ?temporal.cantidad, ?temporal.precio, ?temporal.precio_Venta2, ?temporal.subtotal, ?temporal.isv, ?temporal.dto, ?temporal.total)
ENDTEXT
SCAN
Sqlexec(aurora, pda)
ENDSCAN


Sin embargo, no estoy muy satisfecho, pues (Creo yo que por el Scan, pero si lo quito no me guarda nada.) El proceso tarda en completarse según la cantidad de items pero me imagino que es normal. Me gustaría una opinión como experto en cuanto al código, ¿o necesitaría alguna modificación?

Respuesta
1

La primera forma no funciona porque lo que pongas en Text To... se trata como cadena. La variable que recibe lo que tiene dentro de ese bloque, es texto, sólo eso.

La segunda forma habría que ponerlo todo dentro del scan:

SELECT TEMPORAL
Scan

Wait windows 'Ingresando factura... ' nowait
TEXT TO PDA NOSHOW
INSERT INTO DETA_VENTAS (factura, codigo, producto, oferta, grupo, marca, cantidad, precio, precio_venta2, subtotal, isv, dto, total) VALUES (?temporal.factura, ?temporal.codigo, ?temporal.producto, ?temporal.oferta, ?temporal.grupo, ?temporal.marca, ?temporal.cantidad, ?temporal.precio, ?temporal.precio_Venta2, ?temporal.subtotal, ?temporal.isv, ?temporal.dto, ?temporal.total)
ENDTEXT
Sqlexec(aurora, pda)
ENDSCAN

La pregunta no admite más respuestas

Más respuestas relacionadas