Page 1 of 1

SQL generated sequence When TUniQuery Applyupdate

Posted: Wed 08 Apr 2009 02:04
by cxg417
Use TUniQuery to Open a Table
For example
FieldName: ID Name Password
FielValue: ?001 John 11
???????002 Rose 112
???????003 Bush 333
???????004 Ben 3433
???????005 Smith 211

First,modify Password of ID='003', and then modify Password of ID='005', and then modify Password of ID='002'

I note that the order of the generated SQL statement is as follows

Update Table Set Password='121' Where ID='003'

Update Table Set Password='121' Where ID='005'

Update Table Set Password='121' Where ID='002'

This will create a problem, When multiple user modify this table, Different users, Edit the order of different,The resulting sequence of SQL statements may be cross. May have deadlock

How to make the SQL statement generated sequence and the order form the Table keywords.
________
WEED BUBBLERS

Posted: Wed 08 Apr 2009 08:15
by Plash
UniDAC does not have any features to order update statements.

When executing ApplyUpdates, if you set the LockMode property to lmOptimistic, UniDAC locks only one record at a time. So deadlock should not occur.