请问在DELPHI中如何立即断开ADO连接??? ( 积分: 50 )

  • 主题发起人 主题发起人 Flashcqxg
  • 开始时间 开始时间
F

Flashcqxg

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,我是用的ADO来连接数据库的,控件是放在窗体上的,然后再放了一个按钮,按钮的代码就是想实现断开与数据库的连接,但老是断不开,即使点了&nbsp;&quot;断开&nbsp;&quot;按钮,点另外一个&nbsp;&quot;查询&nbsp;&quot;的时候,还是可以查询数据.&nbsp;<br><br>&quot;断开&nbsp;&quot;按钮的代码将.close;.connected=false&nbsp;&nbsp;&nbsp;都用了,还是没有用.&nbsp;<br><br>麻烦大家帮忙看看,谢谢了.
 
keepconnection:=false
 
ADOConnection1.Connected:=false
 
看这情形,应该是你已经断开了,但是查询时又自动连上了。<br>我看干脆在连接断开按钮事件中这么写一句。<br>查询按钮.enable:=&nbsp;ADOConnection1.Connected;
 
谢谢楼上的各位朋友,你们所说的我都一一试过了,都不行呀。<br><br>怎么办呢????[:(!]
 
ADOConnection1.Connected&nbsp;:=&nbsp;False;<br>--------------------------------<br>www.waibaoinfo.com
 
ADOConnection1.Connected&nbsp;:=&nbsp;False;<br><br>都测试过了,还是不行呀!!!!!!!!!<br><br>这个问题搞不定,程序没办法向后写了........
 
adoconnection1.KeepConnection&nbsp;:=false;<br>&nbsp;&nbsp;ADOConnection1.Connected&nbsp;:=false;
 
我理解lz的意思是禁止链接:<br>procedure&nbsp;TForm1.ADOConnection1BeforeConnect(Sender:&nbsp;TObject);<br>begin<br>&nbsp;&nbsp;&nbsp;&nbsp;SHowMessage('此连接已经被禁用!');<br>&nbsp;&nbsp;&nbsp;&nbsp;abort;<br><br>end;<br><br>procedure&nbsp;TForm1.Button1Click(Sender:&nbsp;TObject);<br>begin<br>&nbsp;&nbsp;&nbsp;&nbsp;ADOConnection1.BeforeConnect&nbsp;:=&nbsp;ADOConnection1BeforeConnect;<br>end;
 
把查询数据集的&nbsp;connection&nbsp;:=&nbsp;Nil&nbsp;.active&nbsp;:=&nbsp;False&nbsp;,就可以断开了。
 
谢谢abcdman:<br><br>你代码我测试了,不行。<br><br>偶快疯了,怎么会出现这种情况呢?
 
每个query或talbe都断下吧
 
看看你的查询按钮的代码,有没有连接的部分。实在不行就设个标志位,在查询之间检查一下是否可以连接数据库
 
if&nbsp;ADOConnection1.Connected&nbsp;then<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;ADOConnection1.Close;<br>&nbsp;&nbsp;&nbsp;&nbsp;ADOConnection1.ConnectionString&nbsp;:=&nbsp;'';<br>&nbsp;&nbsp;end;
 
xeen::<br><br>您的代码点“连接”都不行,执行连接的时候就提示连接被禁用。
 
ANiDelphi:<br><br>您的代码也不起作用。<br>大家帮忙测试呀,究竟要怎么写才能真正断开与数据源的连接呀?
 
procedure&nbsp;TForm1.ADOConnection1BeforeConnect(Sender:&nbsp;TObject);<br>begin<br>&nbsp;&nbsp;&nbsp;&nbsp;SHowMessage('此连接已经被禁用!');<br>&nbsp;&nbsp;&nbsp;&nbsp;abort;<br><br>end;<br>//禁止连接<br>procedure&nbsp;TForm1.Button1Click(Sender:&nbsp;TObject);<br>begin<br>&nbsp;&nbsp;&nbsp;&nbsp;ADOConnection1.Close;<br>&nbsp;&nbsp;&nbsp;&nbsp;ADOConnection1.BeforeConnect&nbsp;:=&nbsp;ADOConnection1BeforeConnect;<br>end;<br><br>//恢复连接<br>procedure&nbsp;TForm1.Button1Click(Sender:&nbsp;TObject);<br>begin<br>&nbsp;&nbsp;&nbsp;&nbsp;ADOConnection1.BeforeConnect&nbsp;:=&nbsp;nil;<br>end;
 
xeen:<br><br>连接后,去禁止,仍然禁止不了,仍然是连接上了的,不知道何故呀。
 
Close就是断开了,看看你连接的代码才知道是何故
 
源码贴出来看看[:D]
 
后退
顶部