求助PB+access在update时的问题
求助:我用PB+access2000,access中某表设了“自动编号”字段作为主键。程序中新增记录保存后,在同一条记录中再修改某字段,再保存则出错。提示:Row changed between retrieve and update.No changes made to atabase..
UPDATE stytle SET ddid = 15, s2 = '2222', editdate = '2006-2-21 23:35:12', editren = 'elun' WHERE id IS NULL。
分析发现pb的update语句中的where语句为 where id=null。毛病就在这。上一次保存成功后,access已给id(自动编号)字段设定值。但pb update后,并未将此值读回来。所以第二次保存时仍然用update...where id=null,当然出错。因为这条记录在数据库中id已经不等于null了。我查看数据窗口的rows->update proerties,identify column已经显示是“id”列,按理应该在update后能将此列值读回来。可实际确没有,造成第二次保存失败。
同样的程序将数据库换成SQL server就没问题了。在数据窗口中观察,发现只要新增记录update后,id值立即读回来。
怎么才能解决?笨办法是每次update后重新检索,可这太没道理了!请教高手!教我!急切!