为了把问题表现得更直接,这里使用了原生ADO对象,请测试以下代码:var
Conn : Variant;begin
Conn:=CreateoleObject('ADODB.CONNECTION');
Conn.Open('*******');
Conn.Close;
ShowMessage('Stop!');
end;当弹出STOP!对话框时,不要关闭它,赶快到你的数据库服务器上看一下连接情况:该连接并没有被关闭!等待一分钟以后,才发现该连接自己断开。这是什么原因?难道DELPHI调用ADO时会自己做个连接缓冲池,以备下次使用,所以执行CLOSE时并不立即关闭连接?的确如此,执行第二遍OPEN的时候,明显比第一遍快。我没有找到相关的说明,还请哪位大虾讲解一下。
Conn : Variant;begin
Conn:=CreateoleObject('ADODB.CONNECTION');
Conn.Open('*******');
Conn.Close;
ShowMessage('Stop!');
end;当弹出STOP!对话框时,不要关闭它,赶快到你的数据库服务器上看一下连接情况:该连接并没有被关闭!等待一分钟以后,才发现该连接自己断开。这是什么原因?难道DELPHI调用ADO时会自己做个连接缓冲池,以备下次使用,所以执行CLOSE时并不立即关闭连接?的确如此,执行第二遍OPEN的时候,明显比第一遍快。我没有找到相关的说明,还请哪位大虾讲解一下。
解决方案 »
- 小弟最近刚接触FastReport4,想做报表使用,可是报表界面的code页和event页打不开。
- 关于多线程程序执行时暂停和继续还有停止,该怎么弄呢?
- delphi工程存储路径的相关问题
- 关于感情的问题。我的话可能有些偏激,不喜欢听的请不要进来。
- 求Dev Express
- 对一个日期格式,如何获得日
- 求教!!!!!!!!!!!!
- 用友问题
- 为什么用savetofile方法从oracle的blob类型字段读出来的文件都只有33或32K?(在线等待)
- 请问在delphi怎样禁用或启用一个设备,100分相送!
- 有关文件和数据库的
- 我使用ActiveX在网页中显示了一个Excel的工作表,怎么对其进行控制?
再ADOConnection1.Connected := False;//ADOConnection1.Close;
行不行?
set Conn=CreateObject('ADODB.Connection')
Conn.Open("*************")
Conn.Close
Msgbox "Stop!"就能看见明显的不同了。在VB中,CONNECTION毫无疑问是立即断开的。应该是BORLAND做了缓冲,但是哪位能告诉我,这个缓冲是怎样做的,如何配置,等等?
我才不相信还能连上呢