rs1.open "select id,hth,xmmc from htb where hth='11111'", cn1, adOpenStatic, adLockBatchOptimistic, adCmdTextrs1有多条记录,对其中两条的xmmc进行修改,然后更新数据(rs1.updatebatch),出现如下错误:
Row cannot be located for updating.Some values may have bee changed since
it was last read。最后对sql server 进跟踪,发现sql server 生成的update语句为
exec sp_executesql N'UPDATE "wmdb".."htb" SET "xmmc"=@P1 WHERE "xmmc" IS NULL AND "hth"=@P2; UPDATE "wmdb".."htb" SET "xmmc"=@P3 WHERE "xmmc" IS NULL AND "hth"=@P4', N'@P1 varchar(300),@P2 varchar(20),@P3 varchar(300),@P4 varchar(20)', 'test 1111', '05HSE25E3350501', 'test 2222', '05HSE25E3350501'
其中htb表中的id为标识字段(为自增,唯一) htb 相当于是订单表中的明细数据为什么在更新时生成的sql语句是这样的?高手们帮帮忙呀!