Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Insert-update-replace-update doesn't work
Message
From
27/10/2016 05:07:13
 
 
To
27/10/2016 04:40:33
Dragan Nedeljkovich (Online)
Now officially retired
Zrenjanin, Serbia
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Database:
MS SQL Server
Virtual environment:
VirtualBox
Miscellaneous
Thread ID:
01642269
Message ID:
01642391
Views:
34
>>>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.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform