如何在dbgrid或dbedit等感知控件自动更新数据前提示用户保存还是不保存? dbgrid等数据感知控件总是自动把修改的数据更新,怎样做才能获得正确的信息,控制adoquery提交或是不提交,即还原到原来的状态呢?有两种操作,append,modify,我试着在beforePost事件里写,可是在append后,如果不想保存,怎么把append的那一行去掉呢?希望给个详细点的答案?用别的控件也行! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 BeforePost 里面外理 if .... then dataset.cancel //取消append添加的当前行 else ..... helodd(~改来改去~) 的方法不行,当用adoquery1.cancel时并不能把append的那一行取消; BeforePost 里面处理 if .... then begin dataset.delete; abort; end else ..... 楼上的abort没有用吧当modify后,如果不想保存,怎么处理?用ADOQuery1.CancelBatch(arAll);和ADOQuery1.CancelUpdates;都不行!或者是怎么能让adoquery不自动提交数据,而用命令控制它提交,这些要用dbedit的感知控件,用这些控件的时候总是自动更新数据,用什么命令能在beforePost事件里让adoquery放弃更新数据库呢? procedure TForm1.ADOTable1BeforePost(DataSet: TDataSet);beginif application.MessageBox('是否保存?','Information',mb_okcancel+mb_iconquestion)<>mrok then begin adotable1.cancel; abort; end;end; 楼上的方法不行,因为要用,多个dbedit等感知控件来修改数据,只能在scroll,close,post等事件进行询问的 用批处理来做。保存时提示,再UpdateBatch或CancelBatch; 在Delphi中调用C编写的DLL grid的问题,超级难 关于有向完全图的最小环? ListView的简单问题(在线等待) 图片传输和语音聊天 怎样释放全部控件 把类放入DLL中,可是。。。 奇怪,stringgrid问题 请问除了用数组,如何在实现一个栈类?pascal 有指针么? 纯粹算法问题,人人都可能得分!! 我有30个checkbox怎么才能让它一次全部选择,一次全部不选? 怎么在dbgrid里放一列不是通过查询得到的数据?
if .... then
dataset.cancel //取消append添加的当前行
else .....
if .... then
begin
dataset.delete;
abort;
end
else .....
当modify后,如果不想保存,怎么处理?用
ADOQuery1.CancelBatch(arAll);和
ADOQuery1.CancelUpdates;
都不行!
或者是怎么能让adoquery不自动提交数据,而用命令控制它提交,这些要用dbedit的感知控件,
用这些控件的时候总是自动更新数据,用什么命令能在beforePost事件里让adoquery放弃更新数据库呢?
begin
if application.MessageBox('是否保存?','Information',mb_okcancel+mb_iconquestion)<>mrok then
begin
adotable1.cancel;
abort;
end;
end;
保存时提示,再UpdateBatch或CancelBatch;