DELPHI+ADO中:
如果想将表1中的记录逐条地插入表2,用如下语句,能否完成如在未全部完成时(比如共要完成10条,而在完成6条时出错了)而出错时,回滚至初始态,即将已插入的记录也回滚掉?如不行,应怎样?3Q
DataModule1.AdoConnection1.BeginTrans; //开始事务
try
while i<DataModule1.ADOQuery1.RecordCount do
begin
sql:='';
......//这句为组装sql的语句
DataModule1.AdoConnection1.Execute(sql);
end;
DataModule1.AdoConnection1.CommitTrans; //结束事务Except
DataModule1.AdoConnection1.RollbackTrans; //回滚end;
如果想将表1中的记录逐条地插入表2,用如下语句,能否完成如在未全部完成时(比如共要完成10条,而在完成6条时出错了)而出错时,回滚至初始态,即将已插入的记录也回滚掉?如不行,应怎样?3Q
DataModule1.AdoConnection1.BeginTrans; //开始事务
try
while i<DataModule1.ADOQuery1.RecordCount do
begin
sql:='';
......//这句为组装sql的语句
DataModule1.AdoConnection1.Execute(sql);
end;
DataModule1.AdoConnection1.CommitTrans; //结束事务Except
DataModule1.AdoConnection1.RollbackTrans; //回滚end;
解决方案 »
- 怎么在其他pas文件中修改form1的控件属性?
- 查找字符串在MEMO的绝对行,函数该怎么写?
- 兄弟我做的多人视频聊天室和mpeg4多媒体控件,大家都来捧场哈
- 怎样在Delphi中使用quick report 打印报表呢?
- 提问一个关于oracal的问题
- 请教 ADO连接excel时错误
- showwindow(Handle,SW_MAXIMIZE);这个函数向消息队列中发送了一个什么消息?
- 关于那五个问题送分,顺便有个小问题
- 刚装了d6,有几个问题想请教大家
- 如何监视其他程序的运行?
- delphi6自帶的VCL源碼都不能通過編譯, 我服了!!!
- 我已将Quickrep的page中的orientation属性选择landscape ,应该说可以横向打印,但是为什么预览的时候不是横向的呢
你试试根据DataModule1.AdoConnection1.Execute(sql)的返回值来判断试试。因为如果执行失败的话,这条语句应该是有返回值的。
将ADOQUERY的locktype属性设为ltBatchOptimistic
采用批量提交的方式