如何能重新连接到数据库服务器?(100分)

R

runcow

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi5.0和SQL Sever 2000做网络数据库,我用ODBC连接,可是当意外与数据库服务器
断开连接,再也无法重新连接上,除非把程序关闭重新打开,它才能连接上。请问各位是否
有办法让它重新连接上?
 
你可以做个按钮,或者多长时间去看你的连接是否为真,然后最多是用类似手动的方式建立连接了。
if DataBase1.Connected:=False;
DataBase1.connected:=True;

 
在databaseAfterDisconnect 事件中加上 DataBase.connected:=True
 
这样做:但Pos函数的内容要看你的数据库的出错信息而定,我这里是以sybase为后台的。
定义Application.OnException句柄过程。
procedure TMainForm.AppException(Sender: TObject; E: Exception);
begin
if (Pos('Net-Library operation terminated due to disconnect',E.Message)>0) or
(Pos('A deadlock was detected',E.Message)>0) or
(Pos('SQL Server connection timed out',E.Message)>0)
then
begin
DbModule.database1.Connected := False;
end;
end;
原因:
意外与数据库断开时,TDatabase的Connected属性不会变为False,造成客户端程序认为自己是连接
正常的,而服务器端已经放弃它了,所以只要手动断开一下,下次再操作时,DELPHI是会自动
帮你连接的。
 
多人接受答案了。
 
顶部