俺用DBExpress连SQL SERVER2000
作多个update动作.
俺一把这些update 放入事务就抱错: no active transaction.
var
aTD:TTransactionDesc;
begin
aTD.TransactioID:=1;
aTD.IsolationLevel:=xilREADCOMMITTED;
self.SQLConnection.StartTransaction(aTD);
try{
update...
update...
}
except
self.SQLConnection1.RollBack(aTD);
end;
commit;不用事务就OK.
郁闷死了.
望大虾提点.
谢谢!
作多个update动作.
俺一把这些update 放入事务就抱错: no active transaction.
var
aTD:TTransactionDesc;
begin
aTD.TransactioID:=1;
aTD.IsolationLevel:=xilREADCOMMITTED;
self.SQLConnection.StartTransaction(aTD);
try{
update...
update...
}
except
self.SQLConnection1.RollBack(aTD);
end;
commit;不用事务就OK.
郁闷死了.
望大虾提点.
谢谢!
aTD:TTransactionDesc;
begin
aTD.TransactioID:=1;
aTD.IsolationLevel:=xilREADCOMMITTED;
self.SQLConnection1.Open;//加上这句话试试
self.SQLConnection.StartTransaction(aTD);
try{
update...
update...
}
except
self.SQLConnection1.RollBack(aTD);
end;
commit;
在事务之前有其他SQL语句运行啊
你自己说, 这样会不会错。
是俺在写问题时写错了,实际情况是commit 在try ..except 里.
to : 2F.
俺加了self.SQLConnection1.Open;还是报同样的错啊.
大家加把劲集思广益啊
檢查下這個參數
???
xilREADCOMMITTED是IsolationLevel的默认值.
aTD.IsolationLevel:= xilREPATABLEREAD级别的隔离俺也试过,问题一样.
检查what? 请明示.to: all.
请大家不要在拼写上挑错,问题中的拼写可能会有误.