一个非常菜鸟的问题:ADO组件能否实现多线程数据库编程?(50分)

  • 主题发起人 主题发起人 Decade_hai
  • 开始时间 开始时间
D

Decade_hai

Unregistered / Unconfirmed
GUEST, unregistred user!
我第一次接触多线程编程,在<DELPHI 5 开发人员指南> 中只举了BDE的多线程数据库编程,
它在里面说到,每一个线呈必须在自己的会话中进行,即每个线呈都有自己的(SESSON,DATABASE)
请问:ADO组件能否实现多线程数据库编程?
如果可以,如何创造他们各种的会话?谢谢!
 
从原理上来说,就是数据库是否支持异步了,可以
 
请问如何创造他们各自的会话?
 
TADOConnection、各类TADODataset 都在线程中动态创建
 
TADODATASET相当于BDE组件中的那个控件?
 
活学活会可真南啊.....
 
当然可以!而且我已经在我的程序中使用过,没有问题!
 
所谓各类TADODataset ,就是TADOTable、TADOQuery之类
还有一个不是dataset的TADOCommand
反正什么东西都在自己的线程创建最好
 
谢谢Pipi的指教,请允许我叫你一声--老大!
jilimi,能否给一些代码看看,谢谢!
 
AdoDataSet 默认使用自己的线程连接数据库.
而DELPHI BDE使用 SESSION 的目的是为了节约SERVER上的连接数, 使用tDATABASE和
tSESSION可以使多个tQUERY通过一个数据管道连接到SERVER, 这对SERVER是很有好处的
ADODATASET 默认自己使用自己的SESSION,其连接SERVER是发生在COM层面上,
所以它不需要SESSION, 但是要安全的使用多线程ADO, 应该每个线程都使用自己的
ADO组件访问
 
谢谢各位老大的指教,特别是王寒松和Pipi先生.
 
ADO是safe的(按微软说法 ),但每个Connection任何时候只能处理一个事务,请查DBMS有关
资料。所以,最好每个线程管理一个连接,如果共享Connection,程序比较复杂。
 
后退
顶部