有,使用ado的batchupdate模式。设定cursortype为keyset或static,设定locktype为batchoptimistic,执行的sql命令必须是select.
当ado进入batchupdate模式时,所有对于数据的修改都 是暂存在客户端中。当客户端决定把数据真正更新回数据源中时,可以调用tadodataset、tadoquery、tadotable或tadostoredproc组件的updatabatch方法,而updatebatch方法接受一个参数,这个参数代表客户端要把哪些修改的数据更新回数据源中。下面是updatebatch方法的原型:
procedure updatebatch(affectrecords: taffectrecords =arall);
updatebatch方法的参数说明如下:
arcurrent 只把目前记录的修改更新回数据集中
arfiltered 只把符合过滤条件的数据的修改更新回数据源之中
arall 把所有数据的修改更新回数据源之中
arallchapters 更新所有被影响到的chapters (ado chapters)
以下是一个调用updatebatch的示例
procedure tform1.button1click(sender: tobject);
begin
adodataset1.updatebatch;
end;
如果程序员想取消所有客户端对于数据的修改,那么可以调用tadodataset等组件的cancelbatch方法,cancelbatch能够把客户端所有尚未更新回数据源的数据修改恢复成原来的数值,并且释放储存修改数据的资源。
当ado进入batchupdate模式时,所有对于数据的修改都 是暂存在客户端中。当客户端决定把数据真正更新回数据源中时,可以调用tadodataset、tadoquery、tadotable或tadostoredproc组件的updatabatch方法,而updatebatch方法接受一个参数,这个参数代表客户端要把哪些修改的数据更新回数据源中。下面是updatebatch方法的原型:
procedure updatebatch(affectrecords: taffectrecords =arall);
updatebatch方法的参数说明如下:
arcurrent 只把目前记录的修改更新回数据集中
arfiltered 只把符合过滤条件的数据的修改更新回数据源之中
arall 把所有数据的修改更新回数据源之中
arallchapters 更新所有被影响到的chapters (ado chapters)
以下是一个调用updatebatch的示例
procedure tform1.button1click(sender: tobject);
begin
adodataset1.updatebatch;
end;
如果程序员想取消所有客户端对于数据的修改,那么可以调用tadodataset等组件的cancelbatch方法,cancelbatch能够把客户端所有尚未更新回数据源的数据修改恢复成原来的数值,并且释放储存修改数据的资源。
解决方案 »
- 100分 求救!!
- 关于DataGrid一个小问题!
- ????怎样屏蔽在工具栏,有鼠标右键,弹出的菜单中的“关闭”?????????
- 各位大侠:请问怎样把文本文件存入Acess数据库中
- ★★如何截获窗体最小化时标题栏重画的消息?
- ADOQuery如何执行多条SQL
- 在Chart或DBChart中,能在程序运行过程中动态增加和删除一条线吗,应该怎样做呢?谢谢?
- 本人承诺,只要参入给送100分,重在参入吗!bde的问题.
- 請問怎麼把空值賦給字符串變量???
- 也许是道小菜:如何在一个窗口form1中,通过按钮关闭form1后,再调用另一个窗口form2 。
- 如何让没有安装ACCESS2000的机器也能运行基于ACCESS数据库的程序?
- 求救,关于类库引用的问题,请大家帮忙?
不知道怎么办?