General information
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
TableUpdate sees old records as new
server mssql 2008
*STEP1 in the load procedure I create the cursor: cList
SQLEXEC(lnhandle, [select * from table1 where 0=1],[clist])
*STEP2 in other pocedures the users retrieves data from table1 (same table that the cList is created)
SQLEXEC(lnhandle, [select * from table1 where somecriteria_1],[cTemp])
INSERT INTO cList SELECT * FROM cTemp
SQLEXEC(lnhandle, [select * from table1 where somecriteria_2],[cTemp])
INSERT INTO cList SELECT * FROM cTemp
......................................
SQLEXEC(lnhandle, [select * from table1 where somecriteria_50],[cTemp])
INSERT INTO cList SELECT * FROM cTemp
*STEP3 the user changes some values in the cursor Clist (records are displayed in a grid)
*STEP4 save changes
SELECT cList
SCAN
lid=cList.table1_id
SQLEXEC(nhandle,[update table1 set fld1=newval1,fld2=newval2, fld3=newval3 where table1_id=lid])
ENDSCAN
The above code works fine.
The question: is it posible to avoid the scanning and update the data with: Tableupdate(.t., .t., 'cList')
When i try the tableupdate function I receive the error of uniq key violation.
The server sees the records in the cLIst as new records.
The same problem occurs and in the case that I create the cList cursor with the CursorAdapter method.
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only