Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Exact and deleted recs - did everybody know this but me?
Message
From
24/07/2006 13:15:16
 
 
To
24/07/2006 13:12:04
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01139176
Message ID:
01139277
Views:
13
Not trying the code (yet)... until you try it with SET DELETED ON

SET DELETED OFF means you GET deleted records included.



>See line 12 in the code. Deleted is set off. Did you try running the code below? I'd appreciate it, and if you get different results, please let me know.
>
>>Well you do have SET DELETED OFF in your code.
>>
>>
>>
>>>I just discovered that SET EXACT and SET ANSI affect whether or not a SELECT SQL statement will return deleted records as deleted or not.
>>>
>>>Am I the only person who didn't know this?
>>>
>>>According to the VFP9 help file in fact, SET EXACT is supposed to have no effect on a SELECT SQL statement at all. SET ANSI is supposed to affect how strings are compared in a SELECT statement. And I can't find anything in the help file to explain how deleted records are treated by EXACT and ANSI.
>>>
>>>So why do they both affect how deleted records are retrieved?
>>>
>>>Here is an example of what I'm seeing.
>>>
>>>
>>>CLOSE DATABASES all
>>>
>>>CREATE TABLE test (field1 c(1))
>>>FOR x = 1 TO 10
>>>  INSERT INTO test (field1) VALUES (chr(x+64))
>>>ENDFOR
>>>
>>>GOTO 8
>>>DELETE
>>>
>>>CLOSE DATABASES all
>>>SET DELETED OFF
>>>SET ANSI OFF
>>>SET EXACT OFF
>>>
>>>WAIT WINDOW "Ansi off, Exact off" NoWait
>>>SELECT * FROM test	&& browse should show record 8 as deleted
>>>CLOSE DATABASES all
>>>SET EXACT ON
>>>
>>>WAIT WINDOW "Ansi off, Exact ON" NoWait
>>>SELECT * FROM test	&& browse should show no deleted records
>>>CLOSE DATABASES all
>>>SET EXACT OFF
>>>SET ANSI ON
>>>
>>>WAIT WINDOW "Ansi ON, Exact off" NoWait
>>>SELECT * FROM test	&& browse should show no deleted records
>>>CLOSE DATABASES all
>>>SET EXACT OFF
>>>SET ANSI OFF
>>>
>>>WAIT WINDOW "Ansi off, Exact off" NoWait
>>>SELECT * FROM test	&& browse should show record 8 deleted again
>>>
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform