没碰过,不过我写过多线程ADO连接时是每个线程用一个ADOConnection的,另外要记得执行CoInitialize/CoUninitialize。
解决方案 »
- 删除数据时有关外键冲突不能删除的情况,急!急!急!
- 紧急求救两个问题,谢谢各位
- 添加组件时出现的问题
- 如何通过程序代码对DBGrid控件中的记录进行全选标记?
- 急!
- 请大家跟我推荐一下带预览WAVE文件效果的对话框VCL控件?
- 在DBGrid中,哪一个过程是用来响应光标条的移动事件?
- 如何利用int文件
- 急求一个统计问题SQL的解决方法,先行谢过
- 如何使用TNMUDP实现传一个大的文件?
- 各位高手,ADOQUERY控件的COMMANDTIMEOUT如何设置?????此属性不可用普通方法改变。
- RX的控件它自带一个安装程序,可是我SETUP之后,在DELPHI的IDE里找不到RX的控件,如何做?
不能只用一个
函数中的所有类似ADOTable、ADOQuery等控件都是在函数中动态产生实例并释放, 你是不是,在线程中动态产生实例并释放ADOTable、ADOQuery,其实最有效的方法是,做一个连接池,线程需要的时候同步取一个ADOTable或ADOQuery构件,这样的效率最高,而且应该没有上述问题,。
动态产生实例并释放,要消耗相当一部分时间。
我估计,产生上述问题的最主要的原因是,ADOConnection不是一个线程安全的构件,多线程访问的时候,需要同步。