Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
SET ENGINEBEHAVIOR changing
Message
De
15/08/2005 08:19:06
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9
Divers
Thread ID:
01040906
Message ID:
01040923
Vues:
20
>>>I loaded VFP9. One of my older applications has many SQL statements that will no longer run because of the GROUP BY clause and the not havine an aggregate function. So in the main.prg I SET ENGINEBEHAVIOR 70. Still, one of my SQL statemetns got an error. In the debugger SET ('enginebehavior') = 90. But my SET ENGINEBEHAVIOR 70 is the only other place that I reference ENGINEBEHAVIOR. What is up?
>>>
>>>Brenda
>>
>>Not an answer to your real problem, but be aware that by setting enginehaviour to 70, you risk getting WRONG data! I strongly recommend that you change your select statements to comply with the ANSI standard. Set enginehaviour to 70 is band aid to stop the bleeding, it will cure nothing.
>
>I do not buy the arguement that 70 gives you WRONG data. So everyone coding in Fox and VFP prior to VFP8 were getting wrong data? Thousands of systems were built on VFP6, VFP7 and prior versions and nobody complained about wrong data. But yes, I am making the changes where I am able, but some older systems - that work - will not be given the hours needed to make them SQL standard.
>
>Brenda

OH YES!! If your tables include memo fields, and you SELECT * FROM xxx, your memo fields are not checked, and this can give wrong results for sure!

This is also the reason why set enginebehavior was introduced in VFP8. According to MSFT, some people might depend on the old behavior which gave wrong resuts, but which were actually the data they wanted! Help in VFP8 describes this better than help in VFP9.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform