首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

用ADO访问数据库发生异常,详请进

2012-04-04 
用ADO访问数据库发生错误,详请进!我用多线程访问我的access型的数据库(mdb)用了两个adoconnection控件和多

用ADO访问数据库发生错误,详请进!
我用多线程访问我的 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;




[解决办法]
明显存在线程冲突
[解决办法]
分析清楚,然后加锁
[解决办法]
遇到这类问题明显是对业务的逻辑没有完全把握,画个流程图吧,肯定有一个冲突访问的。任何时候保证只有一个访问,特别是在有Write存在的情况下。
[解决办法]

探讨

程序时原来的老人写的,可能没有怎么测试,现在要用了,我去看、去测试发现这些问题的,想问都没有办法问。唉,真麻烦

[解决办法]
跟踪一下。

热点排行