关于在多线程中调用ADO控件的疑问(20分)

  • 主题发起人 主题发起人 vinson_shen
  • 开始时间 开始时间
V

vinson_shen

Unregistered / Unconfirmed
GUEST, unregistred user!
假如我有5个线程,却只有一个ADOProc控件,5个线程均用到这个ADOProc控件,能不能做到5个线程同时启用呢?请各位给予指点。谢谢。
 
定义一个query,每次执行的时候creat一个就可以了/。
 
定义一个query,每次执行的时候creat一个就可以了/。
???
能说说具体实现么?最好能举个小例子来帮忙说明下吧,谢谢啦。
 
flybird00000:你的方法不行把
多线程执行数据库操作我原来做过
用多个Database控件,可以同时开几个查询,
但是线程数不能太多,否则没法用
 
没错,同意76liujing的说法,在实际运行中,如果连接只有一个(ADOConnection只有一个),而在线程中创建TADOQuery控件时都使用同一个连接,线程少的时候还没有问题,一旦多了,就会出现“连接占线导致另一命令”的错误,我的做法是,不同的线程使用不同的连接,好像问题就解决了!
 
如果不想用5个ADOQuery
用互斥
CriticalSection.enter;
....
CriticalSection.Leave;
多个连接对Access时有问题,同时修改一个表时容易出问题(很奇怪,Update不成功,但没有异常抛出,)
 
做个连接池吧,每个线程操作的时候,申请一个连接。用完再归还
 
樓主想法不行啊...
多線程的database程序用bde會更穩和更快....
 
后退
顶部