Migrar VFP6 a VFP9

Necesito Migrar de VFP6 a VFP9 y tengo unos select con group by a la vieja usansa. ¿Qué puedo hacer para poder mantenerlos como están? Leí de la existencia de un comando llamado SET ENGINEBEHAVIOR
Gracias
Respuesta
1
Las funciones agregadas y GROUP BY
Esto ha atrapado a muchos desarrolladores VFP, especialmente desde VFP 8.0, que fue donde apareció por primera vez. En versiones anteriores, la sintaxis siguiente estaba admitida:
SELECT Country, City, AVG(Inv_Total) FROM Invoices GROUP BY Country
Sin embargo, aunque es legal, la sintaxis provocará datos potencialmente incorrectos. En el ejemplo de arriba, VFP va a seleccionar una ciudad arbitraria para que se corresponda con cada país, incluso aunque ese país pueda tener muchas ciudades. SQL ANSI-92 impone una regla muy sencilla: si la consulta tiene cláusula GROUP BY. T-SQL fuerza estrictamente esa regla, como hace VFP 8.0, 9.0 y superior, pero las versiones anteriores de FoxPro no (en VFP 8.0 y superior, puede sobreescribir este comportamiento estableciendo ENGINEBEHAVIOR 70).
Usa esto
* METODO: SQL COMPATIBLE
LOCAL lnversion
*****
lnversion = VERSION(5)
*****
IF lnversion >= 8
*SET ENGINEBEHAVIOR 70 && hace lo mismo que el paso seguiente
SYS(3099,70)
ENDIF
NOTA: EJECUTE ESTA RUTINA AL INICIO DEL SISTEMA
****
* METODO: SQL_RESTABLECER
****
LOCAL lnversion
*****
lnversion = VERSION(5)
*****
IF lnversion >= 8
*SET ENGINEBEHAVIOR 80 && hace lo mismo que el paso seguiente
SYS(3099,80)
Endif
Nota: ejecuta esta rutina al final de tu sistema
Atentamente. Fitocava

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas