Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Insert-update-replace-update doesn't work
Message
De
27/10/2016 05:07:13
 
 
À
27/10/2016 04:40:33
Dragan Nedeljkovich (En ligne)
Now officially retired
Zrenjanin, Serbia
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 9 SP2
OS:
Windows 7
Database:
MS SQL Server
Virtual environment:
VirtualBox
Divers
Thread ID:
01642269
Message ID:
01642391
Vues:
35
>>>Had a strange case... the scenario goes like this:
>>>
>>>
if not seek(...)
>>>    insert into ... (short field list, just keys) values (...)
>>>    tableupdate()
>>>endif
>>>...
>>>replace {four more fields}
>>>tableupdate()
>>>
>>>This was a fast job so I didn't really check the result of each tableupdate(); this is on cursoradapters, BTW. The weird thing is that in cases where the record was freshly inserted, the second tableupdate() didn't work. The quick and dirty solution was to run this twice, which worked so I didn't lose too much time on it (it had about 70000 records to create/update), but I'm just curious as to why would this happen at all.
>>>
>>>Did anyone have a horse of this color?
>>
>>Cursor buffering is tablebuffering ?
>
>Row buffering, but I'm sitting on the same record.
>
>>You say:
>>the second tableupdate() didn't work.
>>In what sense ?
>
>The changes aren't written to the SQL on newly inserted records, but are on the records which existed.
>
>I'll eventually catch the time to revisit this and check the error codes and whether the adapter tried to insert the same record twice or what.

Table has a first buffer record level that it is flushed with a record move.
With a go to recno() you can force this flush into the table buffer.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform