执行代码时,发现:
如果命令出错,再次执行时,系统总是提示
Cannot start more transaction on this session
而我的代码是: try
adoCmd.Execute;
except on E:Exception do
begin
adoConn.RollbackTrans;
exit;
end;
end;
我已经令事务回滚了, 为什么还会那样?如何解决?
如果命令出错,再次执行时,系统总是提示
Cannot start more transaction on this session
而我的代码是: try
adoCmd.Execute;
except on E:Exception do
begin
adoConn.RollbackTrans;
exit;
end;
end;
我已经令事务回滚了, 为什么还会那样?如何解决?
adoCmd.Execute;
adoCmd.CommitTrans;
except on E:Exception do
begin
adoConn.RollbackTrans;
exit;
end;
end;
begin
ADOConnection1.BeginTrans;
try
ADOQuery1.ExecSQL;
ADOConnection1.CommitTrans;
except
ADOConnection1.RollbackTrans;
end;
end;
我的完整代码如下:
adoConn.beginTrans;
try
adoCmd.Execute;
except on E:Exception do
begin
adoConn.RollbackTrans;
exit;
end;
end;
adoCOnn.comitTrans;
事务的三个操作我都写好了.
但每次总出现上述错!
try
adoConn.beginTrans;
adoCmd.Execute;adoCOnn.comitTrans; except on E:Exception do
begin
adoConn.RollbackTrans;
exit;
end;
end;
为什么错了?