Q
qqnm
Unregistered / Unconfirmed
GUEST, unregistred user!
请问在asta3的客户端事务处理如何实现啊?不要用applyupdate()方法,因为这个方法用起来很不方便,要配合dbgrid等来使用,不能用sql语句来写,很不灵活。
例如我有1000条记录需要更新,只有这1000条记录都成功时才commit,如果有任何一条记录更新不成功,则rollback刚才所有的操作.
我也看了其他DFW的帖子,他们提到了以下的做法:
=========================================
在客户端的AstaClientSocket中写下面的代码:
AstaClientSocket1.StartTransaction //启动
try
你的操作1;
....操作2;
AstaClientSocket1.EndTransaction(True);//提交
except
AstaClientSocket1.EndTransaction(False);
//回滚
end;
======================================================
但是我试了上面的办法(我用的是ADO和Oracle数据库),当程序执行到AstaClientSocket1.StartTransaction时,客户端程序就死掉了,不知是什么原因,看了asta自带的例子,没有一个使用到AstaClientSocket1.StartTransaction这个过程的,不知道有没有DFW这样用过阿?
另外,有没有asta实现事务的其他方法,请各位DFW们多帮帮忙啊!
例如我有1000条记录需要更新,只有这1000条记录都成功时才commit,如果有任何一条记录更新不成功,则rollback刚才所有的操作.
我也看了其他DFW的帖子,他们提到了以下的做法:
=========================================
在客户端的AstaClientSocket中写下面的代码:
AstaClientSocket1.StartTransaction //启动
try
你的操作1;
....操作2;
AstaClientSocket1.EndTransaction(True);//提交
except
AstaClientSocket1.EndTransaction(False);
//回滚
end;
======================================================
但是我试了上面的办法(我用的是ADO和Oracle数据库),当程序执行到AstaClientSocket1.StartTransaction时,客户端程序就死掉了,不知是什么原因,看了asta自带的例子,没有一个使用到AstaClientSocket1.StartTransaction这个过程的,不知道有没有DFW这样用过阿?
另外,有没有asta实现事务的其他方法,请各位DFW们多帮帮忙啊!