Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Table with cursors in table buffering mode
Message
De
13/12/2000 10:57:53
 
 
À
12/12/2000 14:03:48
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
00452380
Message ID:
00452852
Vues:
18
>>>check CursorGetProp("buffering") - if it returns 4 or 5, then the cursors are table buffered.
>>
>>Yes, I know, but does this also cover cursors open in other datasessions?
>>
>>The error only occurs when I have two or more forms open simultaniously and when both forms have open cursors of the same table. The offending command is an "index on ..." statement to make a temporary index on a field in a related table. The error occurs if the related table is also open in another form.
>
>OIC.
>No, it only works on cursor in the current data session.
>Two approaches you could take
  1. If your app has some sort of form manager, then you can add something to it to go through open forms and see if the given cursor is open and table buffered - ugh :)
  2. Use views for the related tables instead, then you can add temp indexes on the view to your heart's content - or limit the view itself with view parameters.
I suggest the last approach.

I think I spoke too soon (thanx, Barbara)

How are you creating an index on a table if it's used in another form, anyway?
Do the forms share a datasession?

By "open cursors of the same table" do you mean cursors from a select statement?
If so, you should add NOFILTER to your select statements to truly create a cursor and not just a filter on the table.

This error should only occur on the table you are actually trying to index - are you sure that one is not table buffered?
Insanity: Doing the same thing over and over and expecting different results.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform