D
delphilk
Unregistered / Unconfirmed
GUEST, unregistred user!
我设置了一个远程模块为需要事务
使用以下代码:
result := false;
try
adocommand1.CommandText := 'delete 表1';
adocommand1.Execute(n, '');
//n为影响行 结果显示为表1的记录数 20
setcomplete;
代码1;
代码2;
result := true;
except
setabort;
代码3;
end;
我事先在表1上设置了一个删除触发器 里面有:
insert 表2 select 'abc' //事实上数据库里是没有表2的 所以当表1上发生删除操作时候将引发错误
当我在客户端调用此方法以后 代码1,代码2都被执行了,代码3却没有执行,返回true,这是不正常的,客户端错误信息:‘根事务需要确认,但事务终止了操作'
想请问高手 为什么代码3没能执行?
我只想知道adocommand1.Execute(n, '');
这行语句是否真的成功执行了!
使用以下代码:
result := false;
try
adocommand1.CommandText := 'delete 表1';
adocommand1.Execute(n, '');
//n为影响行 结果显示为表1的记录数 20
setcomplete;
代码1;
代码2;
result := true;
except
setabort;
代码3;
end;
我事先在表1上设置了一个删除触发器 里面有:
insert 表2 select 'abc' //事实上数据库里是没有表2的 所以当表1上发生删除操作时候将引发错误
当我在客户端调用此方法以后 代码1,代码2都被执行了,代码3却没有执行,返回true,这是不正常的,客户端错误信息:‘根事务需要确认,但事务终止了操作'
想请问高手 为什么代码3没能执行?
我只想知道adocommand1.Execute(n, '');
这行语句是否真的成功执行了!