当我把数据库操作模块分散在多个DLL中时,各模块如何得到一个数库连接而不是连接字串, 就象在单一程式中多个ADOQUERY共用一个连接。
这样做是因为我不想在各模块都开启一个连接,
简单的说就是在模块中传递ADO数据库连接
题外话:在COM中可以做到传递一个组件,但我不知道一个己激活的ADO数据库连接的本质是什么?
这样做是因为我不想在各模块都开启一个连接,
简单的说就是在模块中传递ADO数据库连接
题外话:在COM中可以做到传递一个组件,但我不知道一个己激活的ADO数据库连接的本质是什么?
解决方案 »
- 大家帮忙看下这个delphi的 修改语句哪里错了
- delphi 导出复杂的excel
- 大侠救命:如何把28828800000这样的整数转化为1971-12-1号?
- 大家帮忙!为什么我的程序运行一段时间后会占用很多资源,以至程序死掉了~
- 谁知道是不是paradox数据库不支持SQL的group by
- 面向对象的问题
- delphi时间处理,急、急、急高分相送!!!
- 如何把文本文件里的数据倒入了SQL SERVER 2000里的表里?
- 如何列举ODBC中所有的数据源(DSN)
- ★★★快来抢100分★★★:在win98下,当我在odbc里设置连接*.mdb数据库的系统dsn时出现错误,why?
- 请问怎么实现在不同的分辨率下,打开的窗口界面一样大
- 请教高手delphi中oracle建帐套的例程序
ActiveDLL将TADOConnection转换后用Connection传递:ADOConnection1.ConnectionObject as ADODB_TLB.Connection
在TYPE中写
procedure ShowForm(hOwner: hInst;SocketConnection:TSocketConnection);stdcall;procedure ShowForm(hOwner: hInst;SocketConnection:TSocketConnection);stdcall;
begin
try
Application.Handle:= hOwner;
Application.CreateForm(TDM, DM);
DM.SharedConnection.ParentConnection:=SocketConnection;
DM.table.Open;
Application.CreateForm(TForm_Main, Form_Main);
Form_Main.ShowModal;
finally
DM.table.Close;
DM.free;
Form_Main.Free;
end;
end;
COM+有一个连接池可以完成这样的工作, 但我在调试时发现就是最间单的例子,从客户首次调用COM+服务时要花费大量的时间,这时我又有了一个相同目的问题,如果把在客户调用COM+
的时间缩短一点,则也解决了数据连接的问题
试试GIT保存数据库ADO 连接接口_Connection引用.
我的方法很简单,COM+和连接池简简单单搞定,现在想想写出代码交工了事,当然学习就不是这样。
“试试GIT保存数据库ADO 连接接口_Connection引用.”试详细点原生的ADO吗?我最初用VB的,当然很想,就象初恋一样想着原生ADO
http://expert.csdn.net/Expert/topic/2516/2516319.xml?temp=.7895319GIT可以在进程内(跨线程)保存一个全局的接口引用,在一个进程内共享
数据库连接也就只是用它来共享ADO的_connect接口.对于DELPHI的TADOCONNECTION,它封装得不错的,只要你把_Connect赋给它的Connect属
性就可以用了.