ADOtable,dbgrid及数据更新(50分)

  • 主题发起人 主题发起人 lsglishiguang
  • 开始时间 开始时间
L

lsglishiguang

Unregistered / Unconfirmed
GUEST, unregistred user!
我的form中有adotable,dbgrid及datasource控件,dbgrid中显示的adotable中某个表的记录,在修改dbgrid中的每条记录时,好象它会自动更新数据库,我想做的是修改中并不更新,修改完了以后,我按"确定"键,它就更新数据库,按"取消"它就不更新数据库?
还有就是在修改dbgrid中的每条记录时,由于他会自动更新数据库,有时会提示'无法为更新重新定位,某些值在最后一次读取后可能已经改变.'
 
将 AdoQuery 的 LockType 设为 ltBatchOptimistic 即可进行批更新。
在“更新”按钮中写:
AdoQuery1.UpdateBatch;
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3425491
有钱人就是不同,一发就发两个!
 
没办法,急啊,各位富翁都来说说看啊
 
to kaida:
请问一下,我在“更新”按钮中写: AdoQuery1.UpdateBatch; 后提示:
无法为更新重新定位,某些值在最后一次读取后可能已经改变.'
是怎么回事啊,还请指教.
 
提示说明,在你更新数据时原来读取的数据已经被(另一个用户)改变了,所以不能再更新。你可以进行如下设置:
Adoquery1.FilterGroup:=fgPendingRecords;
Adoquery1.Filtered :=True;
这样确保正确的记录可以更新,不正确的记录在读取数据库记录后重新处理。
 
多人接受答案了。
 
后退
顶部