我想通过DBGrid,对表中的记录进行修改,但是现在遇到的问题是:当想要撤销对所有记录的修改时,用DBGrid1.Datasource.Dataset.Cancel,只能撤销最后一条被修改记录上的改动,怎样才能做到把所有被修改的记录全都恢复呢??
解决方案 »
- 请教一下,如何实现这些基本功能
- RegisterServiceProcess在哪个单元,高手指点。在线急等
- 推荐一款套打开发模块
- 用InstallShield Professional 6.22做安装程序出现"iKernel.exe"出错问题,在线等待
- 我现在非常需要一些delphi关于文件操作的东东,那位大侠能够提供一二,不胜感激
- 我做了一个软件,有人测试可以用,可有人用WINDOWS XP测试软件,说出错??不明白?
- CoolBar 的设计
- ¥¥¥¥¥因项目需要,急高薪(1000~5000)诚招DELPHI程序员和掌握DELPHI的项目开发经理,有意请联系[email protected]
- 谁能给我两个ASP访问SQL数据库的例子
- 请问:怎样将VSFlexGrid控件连同其数据 ,以网格的形式加入到Word文档中! (VBA)
- 有个excel文件要反复的读写,用execl文件操作太慢,如何用数组实现?
- 如何编程注册DLL文件????在线等
adodataset1.locktype:=ltbatchoptimistic;
//保存
adodataset1.updatebatch(arall);
//取消操作
adodataset1.cancelbatch(arall);
if ADOTable1.Active then
ADOTable1.CancelBatch(arAll);取消选中记录的修改
if ADOTable1.Active then
ADOTable1.CancelBatch(arCurrent);
_Session: TSession;设置你的TQuery什么的session name 为
TDatabase 的session
TranDatabase.StartTransaction;
// 你的多个操作
try
...
exception
...
TranDatabase.Rollback;
exit;
end; try
...
exception
...
TranDatabase.Rollback;
exit;
end;
TranDatabase.commit;
_session.Open;
user_name:= 'usr';
passwd:= 'pass';
Trandatabase.Params.Add('User Name='+ user_name);
Trandatabase.Params.Add('Password='+ passwd);
Trandatabase.Open;