Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Exact and deleted recs - did everybody know this but me?
Message
De
24/07/2006 13:15:16
 
 
À
24/07/2006 13:12:04
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
01139176
Message ID:
01139277
Vues:
15
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
>>>
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform