Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Array Nonsense
Message
From
26/07/2008 11:32:02
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP SP2
Network:
Novell 6.x
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01334124
Message ID:
01334238
Views:
8
>Upon further investigation, I have discovered that the problem with SQL Select and arrays only occurs when using a function is the Select statement.
>
>Run the following code in VFP 9.0:
>
>SET ENGINEBEHAVIOR 90
>
>CREATE CURSOR test (ky i)
>SELECT MAX(ky) FROM test INTO ARRAY laTest
>
>debug
>SUSPEND
>
>Examine the contents of laTest in the Locals window. The result will be null. Now run this code:
>
>SET ENGINEBEHAVIOR 80
>
>CREATE CURSOR test (ky i)
>SELECT MAX(ky) FROM test INTO ARRAY laTest
>
>debug
>SUSPEND
>
>The array is not created.
>
>Now run the following:
>
>SET ENGINEBEHAVIOR 90
>
>CREATE CURSOR test (ky i)
>SELECT ky FROM test INTO ARRAY laTest
>
>debug
>SUSPEND
>
>The array is not created.

James,
It has nothing to do with arrays. The engine behavior has been changed in 9.0. You can find that in what's new section I think. Before VFP9 when no matching records exist max() was returning 0 records. In VFP9 however a single record is created with a .null. value.
It is not a bug but a correction of bug (or an effort to come closer to ANSI SQL).
Cetin
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Reply
Map
View

Click here to load this message in the networking platform