为了创建临时表
在创建过程之前调用了TADOConnection.BeginTrans
之后调用了TADOConnection.RollbackTrans删除临时表
可是报错!!
EOleException with message 'ITransaction::Commit or ITransaction::Abort was called,and object is in a zombie state
请高手指点这是怎么回事????
我在线恭候!!!
在创建过程之前调用了TADOConnection.BeginTrans
之后调用了TADOConnection.RollbackTrans删除临时表
可是报错!!
EOleException with message 'ITransaction::Commit or ITransaction::Abort was called,and object is in a zombie state
请高手指点这是怎么回事????
我在线恭候!!!
procedure TForm1.TransferButtonClick(Sender: TObject);var Amt: Integer; TD: TTransactionDesc;begin if not SQLConnection1.InTransaction then //如果目前不在一个事务中 begin TD.TransactionID := 1; TD.IsolationLevel := xilREADCOMMITTED; SQLConnection1.StartTransaction(TD); try Amt := StrToInt(AmtEdit.Text); Debit.Params.ParamValues['Amount'] := Amt; Credit.Params.ParamValues['Amount'] := Amt; SQLConnection1.Commit(TD); //一切顺利则递交 except SQLConnection1.Rollback(TD); //发生任何错误则回滚 end; end;end;
CommitTrans或是RollbackTrans啊?????
4221350
附言:TADOConnection的问题
try
//....
adoConnection.CommitTrans;
except
adoConnection.RollbackTran;
end;
因为TADODataset的CursorType设成了crUseServer
就是使用服务器端游标了
而在事务TADOConnection.RollbackTrans之后
临时表就不存在了
当然就会报错了
呵呵
耽误了大家这么久,多谢了!!!:)