我用多线程访问我的 access型的数据库(mdb)
用了两个adoconnection 控件和多个 adoquery 控件,
其中3个adoquery 公用 ADOConnection1,其它的公用ADOConnection2.
多个子线程会多次或同时访问这个数据库,程序在运行时有时会出现:
"对象打开时,不允许操作" 或 "在异步运行时,操作不能被执行" 偶尔还有"List index out of bounds (0)".有时运行又没有问题。ADOConnection1.Connected := False;ADOConnection1.ConnectionString := Provider = 'Microsoft.Jet.OLEDB.4.0;Data Source=9db.mdb;Persist Security Info=False';
ADOConnection1.Connected := True;ADOConnection2.Connected := False;
ADOConnection2.ConnectionString := frmDM.ADOConnection1.ConnectionString;
ADOConnection2.Connected := True;
用了两个adoconnection 控件和多个 adoquery 控件,
其中3个adoquery 公用 ADOConnection1,其它的公用ADOConnection2.
多个子线程会多次或同时访问这个数据库,程序在运行时有时会出现:
"对象打开时,不允许操作" 或 "在异步运行时,操作不能被执行" 偶尔还有"List index out of bounds (0)".有时运行又没有问题。ADOConnection1.Connected := False;ADOConnection1.ConnectionString := Provider = 'Microsoft.Jet.OLEDB.4.0;Data Source=9db.mdb;Persist Security Info=False';
ADOConnection1.Connected := True;ADOConnection2.Connected := False;
ADOConnection2.ConnectionString := frmDM.ADOConnection1.ConnectionString;
ADOConnection2.Connected := True;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货