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.对一段 ......
例子程序见附件,用Delphi 7进行编译
问题代码为
Delphi(Pascal) code:
if Node.ChildNodes <> nil then
begin
for i := 0 to Node.ChildNodes.Count - 1 do
begin
cNode := N ......
1.我不会英语,下载了个delphi2010,打开以后里面全部是英语,连帮助文件也是英语,有没有汉化版的?
2.下面是装delphi2010的时候装进来的,麻烦解释这些事什么
Embarcadero Delphi and C++ Builder 2010 Database Pack ......
在网上看到很多人写程序代码,写的代码每一行都是要么就空一个空格,要么就空好几个,这个有规定吗?怎么看?
以下是我在网上找的一段程序代码
===================================================================== ......