D
Delphi On Me
Unregistered / Unconfirmed
GUEST, unregistred user!
听说Delphi自带的ADO控件较慢,我就试了一下Diamond ADO 1.86,
速度果然要比前者快得多。
但是当我写一段更新数据的代码时,用到了事务处理,如果在开始事务前
ADO连接上已有数据集打开时,执行到ADOConnection.BeginTrans时就会报错:
[Microsoft][ODBC Microsoft Access Driver]Attribute cannot be set now.
比如已有一个ADOConnection上已有一个DADOQuery1打开,这时再运行下列语句
up.sql.add('update set ct=1 where dt=2');
ADOConnection.BeginTrans; //运行到此处就会出错
try
up.ExecSQL;
ADOConnection.CommitTrans;
except
ADOConnection.RollbackTrans;
end;
我用的数据库是Access的,上述情况在OLE DB Provider是Microsoft Ole DB
Privider for ODBC Drivers时才会出现,如果换用Microsoft Jet 4.0 OLE DB
Privider或者用Delphi自带ADO控件,就一切正常。
请帮我看看!谢谢!
速度果然要比前者快得多。
但是当我写一段更新数据的代码时,用到了事务处理,如果在开始事务前
ADO连接上已有数据集打开时,执行到ADOConnection.BeginTrans时就会报错:
[Microsoft][ODBC Microsoft Access Driver]Attribute cannot be set now.
比如已有一个ADOConnection上已有一个DADOQuery1打开,这时再运行下列语句
up.sql.add('update set ct=1 where dt=2');
ADOConnection.BeginTrans; //运行到此处就会出错
try
up.ExecSQL;
ADOConnection.CommitTrans;
except
ADOConnection.RollbackTrans;
end;
我用的数据库是Access的,上述情况在OLE DB Provider是Microsoft Ole DB
Privider for ODBC Drivers时才会出现,如果换用Microsoft Jet 4.0 OLE DB
Privider或者用Delphi自带ADO控件,就一切正常。
请帮我看看!谢谢!