我最近做了一个MIS,数据库的联接信息写在注册表中,TADOConnection的联接字符串从注册表中读取,已经实现了。但我现在想完善一下,就是,当数据库服务器改名、改IP地址或者服务器死机时候,我打开我的MIS,会自动弹出个窗口(自己设计的窗口)让我输入服务器名和数据库的登录名、密码,应该怎么做?我用Try Except不行,当联不上的时候,程序就要死掉了,而且过一会后,只会出来TADOConnection的错误提示,而不是我的窗口,应该怎么办呢?
解决方案 »
- 局部变量,有必要用内存池吗?
- 请教Socket打包到Dll的问题!
- 我碰到了怪事
- 怎么用toolbar实现浮动工具条
- 打开文本文件时如何不独占打开---------急急急急
- 怎样使QRSubDetail和Detail中的内容在一页中显示?
- 来CSDN一年,最后半年都只在水园逛,几乎不来答题为什么我会这么无聊?谁能救救我
- 那位大侠帮我看一下,错误出在那里哟!
- CreateForm(FormClass: TFormClass; var Reference)的 Reference 是啥类型?
- 拼了!加69分好了!家底给你了!
- 请问delphi如何得到一个jsp网页返回值?急。。。
- 通用带函数的表达式的解析与求值算法!!!!!!!!!!!!!!!IMPORTANT!
{
访问DBMS
} catch (Exception *my)
{
弹出个窗口(自己设计的窗口)输入服务器名和数据库的登录名、密码
错误信息: my->Message.c_str()
}
try
ADOConnection1.connectstring='........';
ADOConnection1.Connected := True;
if ADOConnection1.Connected then
showmessage('连接成功');
except
showmessage();
end;
你在把COnnectTimeout改成5好了,就是5秒连接不上就保你的错误
一直都行的,如果机器不通的话,时间等的久一点,就会出现我的提示信息,不再delphi里面运行的时候才是,在里面运行肯定出现她的错误
begin
sConn:=adoconnection1.ConnectionString;
ADOConnection1.connectstring='........';
ADOConnection1.Connected := True;
if ADOConnection1.Connected then
showmessage('连接成功');
except
if EditConnectionString(adoconnection1) then//调出那个窗口
begin
sConn:=adoconnection1.ConnectionString;
{....}
end;