>>>
>>>This sounds great. However, I run your program (added some code to resolve file is in use error, no where in sql at all) , edited the cursor using browse command but base table was not changed!!
>>>It seems that I edited only temporary table. How it is possible
>>>to change cursors base table in this way !? How I can make true cursor?
>
>>Yes you only edited the temp cursor. There is no base table. In buffering you just issue tableupdate() but here it's a separate cursor. You should do the update with code. It's cumbersome at first but for large tables and set filter needs, this one execute faster. To make it easier also set buffering on with that cursor so you could loop through modified&added recs.
>
>Cetin, the command
>
>select * from LargeDBFFileOnLAN where .t. into cursor tcTemp
>
>works very slow. It scans whole base table! I have 98 MB dbf file on 10 MB
>lan and this runs almost forever!
>SQL SELECT works fast only without where clause.
>
>So it is not possible to use select into cursor for fast data selection in
>cases where select returns many rows! What to do?
Excuse me if I'm squeezing in to this thread between you and Cetin, but aren't you using set filter?
No need for selecting everything from LargeDBFFileOnLan just where your filter condition is true.
Select * From LargeDBFFileOnLAN Where filter_condition Into Cursor tcTemp
I don't suppose you have
Set Filter To .T.
Anyway, HTH
Précédent
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement