Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Dream of buffers
Message
From
04/11/2010 03:20:10
Lutz Scheffler (Online)
Lutz Scheffler Software Ingenieurbüro
Dresden, Germany
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Dream of buffers
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01488144
Message ID:
01488144
Views:
149
Hi,

this morning found a nice little problem with CA's (mayce views too, but untested).

We need a CA that updates a table, buffermodeoverride=5, wheretype=3

I open up the CA in two seperate IDE's,

Now I modify one record and TABLEUPDATE

I requery the other CA, GO to the record and modify the same field, and TABLEUPDATE.

Back to CA #1 I CURSORREFRESH the CA, Go to my record. Values are as in CA #2

Now I alter the field again, TABLEUPDATE and fail. While tableupdate returns true, _TALLY returns 0 indicating a failure.

If I check the values (?ca.value,oldval(ca.value),target.value) I see that the CA has current values, the target has the value written on the first operation. (The target cursor is still positioned on the fitting record from the first tableupdate).

If I do anything to the target that moves the record pointer (GO RECNO(), BROWSE) the value of the target changes.

This looks like the TABLEUPDATE writes to some buffer, UPDATE SQL, ? etc use this very buffer while REQUERY / CURSORREFRESH use the real data.

Any idea how to clear the buffer without changing the record pointer like GO RECNO() ?

TIA

Agnes
Words are given to man to enable him to conceal his true feelings.
Charles Maurice de Talleyrand-Périgord

Weeks of programming can save you hours of planning.

Off

There is no place like [::1]
Next
Reply
Map
View

Click here to load this message in the networking platform