Delphi 有关事务的处理 - Delphi / 数据库相关
Delphi(Pascal) code:
procedure TfrmRQZLGL.btnDelete_ZLClick(Sender: TObject);
var
Str1,Str2:string;
begin
if Application.MessageBox('正在删除信息,是否继续?', '提示信息', MB_YESNO +
MB_ICONQUESTION) = IDYES then
begin
Str1 := Format('delete from RQ_ZLZB where BillNo = %s',[qry_ZLZB.FieldByName('BillNo').AsString]);
Str2 := Format('delete from RQ_ZLMXB where BillNo = %s',[qry_ZLZB.FieldByName('BillNo').AsString]);
if not DMMain.conMain.InTransaction then DMMain.conMain.BeginTrans;
try
DMMain.ExecSQLA(Str1);
DMMain.ExecSQLA(Str2);
except
if DMMain.conMain.InTransaction then DMMain.conMain.RollbackTrans;
end;
DMMain.conMain.CommitTrans;
end;
end;
有以上代码,用来删除主表和从表的关联数据,但是 报错了,说 ‘没有活动事务’,望高人指点!
应该是出错后RollbackTrans后再执行CommitTrans报错吧
Delphi(Pascal) code:
try
DMMain.ExecSQLA(Str1);
DMMain.ExecSQLA(Str2);
Except
if DMMain.conMain.InTransaction then DMMain.conMain.RollbackTrans;
end;
DMMain.conMain.CommitTrans;
我是在 Except 里面写的 RollBackTrans 最后CommitTrans的
{
相关问答:
具体要求与报酬QQ729851670
771234717
“拼音编程”是什么意思
引用
“拼音编程”是什么意思
1.给一个字可以显示拼音,多音字的话能显示对应的多个拼音
2.对包含多音字的词语智能识别给出拼音。
3.对一段 ......
1.我不会英语,下载了个delphi2010,打开以后里面全部是英语,连帮助文件也是英语,有没有汉化版的?
2.下面是装delphi2010的时候装进来的,麻烦解释这些事什么
Embarcadero Delphi and C++ Builder 2010 Database Pack ......
现有paradox数据库使用BDE驱动,拟改为C/S版,增加网络读取数据功能。请哪位大侠,提供源码。
说句不客气的话,用paradox做C/S是自寻死路。
换一个网络数据库
因为不想动大手术,仅能共享几个文件即可。
Da ......
如何使新增的sheet在前一个sheet后,excel默认有3个sheet,如我新增一个sheet4,怎样使它是插在sheet3后呢,而不是插在sheet1前?
右键不行吗?
Worksheets.Add 方法
该方法用于新建工作表。
Function Ad ......
//adoquery1.SQL.add('insert into 学生书费历史库(班级名,书费,领书书费,结余书费,经办人,操作员,最后修改时间,说明,班级人数) values (:classname,:s0,0,:s1,:s2,:s3,date(),:s4,:s5)');
adoquery1.SQ ......