Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
SEEK(),INDEXSEEK() or KeyMatch() or SELECT-SQL?
Message
 
 
À
11/04/2005 10:50:35
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Versions des environnements
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Divers
Thread ID:
01002645
Message ID:
01003372
Vues:
35
>>>>I have some ideas which I'm going to implement.
>>>>
>>>>Do you know if there is a way to determine inside the trigger when it's the last record to replace, if, say, we're using replace next 500 command?
>>>>
>>>
>>>No, I do not.
>>>
>>>A trigger is fired on a record by record basis, just before the changes are actually committed. So, the trigger only knows about that one record.
>>>In the example above, the trigger would be fired 500 times (or less)
>>>
>>>But I'm puzzled as to why you would need that info inside the trigger
>>>[snip]
>>
>>The reason is that I want to open all needed tables once in the beginning and close them at the end. I suspected the answer you and Fabio gave me, so I guess I'm out of luck...
>____________________
>out of luck ? Not really
>
>I would only open a table if you need it
>a use of a table that is already open is fast
>
>Two options
>(1) for runtime, is to open all the tables at startup of the app in a private datasession
>
>(2) in the trigger open them if you need them, then after rollback/end transaction only close them if it is the default datasession. That way forms will go faster and when you develop, the default datasession will be cleaner
>
>
>#define PRIVATEDATASESSION ( set('DataSession') > 1 )
>....
>  if( _triggerlevel = 1 )
>      if (   )
>          rollback
>      else
>         end transaction
>      endif
>
>
>     if( PRIVATEDATASESSION )
>        close all table opened by me
>     endif
>
Good idea. So far I ran my tests in the default DS. I would add that check, thanks.
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform