我用BDE时,用query与updatesql相结合进行缓存更新,但是在ADO中没有updatesql,只
有用adoquery,在DBGRID中,用CANCELUPADTE,只能取消一条记录,烦恼不已,请大虾
指导!!!
补充一下,缓存更新是指对多条记录的更改(增加)能取消或保存。
用adoconnection进行事物控制.
将query的connection属性设为adoconnection,
首先adoconnection.begintrans
提交时先执行query,再adoconnection.committrans
取消时adoconnection.rollbacktrans
呵呵。。。,这个问题我可以帮您搞定啦:
在FORM的ONCREATE中加入
ADOQUERY1.LOCKTYPE:=LTBATCHOPTIMISTIC //进入缓存更新模式

保存:
ADOQUERY1.UPDATEBATCH(ARALL)

取消:
ADOQUERY1.CANCELBATCH(ARALL);

在FORM的ONCLOSE中加入
ADOQUERY1.LOCKTYPE:=LTOPTIMISTIC

04-28 11:06