See file #
8153 How to make SQL Pass-Through cursor updatable>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.
--sb--