Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
PhdBase Indexes and Table Buffering No Work?
Message
De
27/04/2000 12:10:45
 
 
À
25/04/2000 16:14:33
Information générale
Forum:
Visual FoxPro
Catégorie:
Produits tierce partie
Divers
Thread ID:
00363327
Message ID:
00364145
Vues:
23
PhdBase doesn't work with table buffering. Quite a bite, huh? But don't despair. You can turn automatic indexing off with the command '=phd("ixAuto off")' and then write a special routine that uses '=phd("ixOld")' and '=phd("ixNew")', which are the manual commands. I'd recommend opening the table twice, once buffered and once unbuffered and make all your changes to the buffered table. Then, to commit the changes, position the pointer on the same record in the unbuffered table, issue the ixold command then commit the changes, then issue the ixnew command. This seems to work reasonably well for me, though it's not hassle-free.

Table buffering adds an extra layer. Try using GETNEXTMODIFIED() and putting all your modified records (or just the keys) into an array and go through the array calling out the above routine.

If you have a PhdBase Manual - it has some good suggestions


>I've got VFP free tables that have a PhdBase index tag on them (for phonetic searching). If I turn on table buffering (CursorSetProp("Buffering",5), I have problems with changes to the fields being committed.
>
>Specifically, to test, if I open up the table in the command window and set buffering on and then do a simple "edit" and change one field, then if I issue TableUpdate(), the changes *revert* to the before edit state (you can see the reversion happen right on screen if you keep the edit window open to one side). And funny enough, TableUpdate() returns .T. as if the update happened. If I remove the PhdBase index tag from the table, everything works okay ie. changes are committed. If I add the tag back on, the problem reappears. If I edit the table with buffering turned off (with the PhdBase index), the changes are saved properly.
>
>So it seems to me that an error is happening in PhdBase and it is causing the changes to be discarded instead of saved. It seems that PhdBase works okay with tables in general, but somehow it is not accomodating buffering. I checked and I am using the 32 bit version of PhdBase (v3.61).
>
>Any ideas anyone?
>
>Albert
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform