如何在所有的数据模块启动前,检查数据库是否可连接(100分)

  • 主题发起人 主题发起人 刘忠平
  • 开始时间 开始时间

刘忠平

Unregistered / Unconfirmed
GUEST, unregistred user!
本人刚使用DELPHI不久,有个问题请教各位大虾:
我想在第一启动程序时时,让用户指定服务器的数据库,
但我如何判断用户所该的参数可以用,既能连上数据库?
 
try
TDatabase.Connected := True;
ShowMessage('Ok');
except
ShowMessage('Error');
end;
 
1)做一个form, 比如frm_dblogin,加三个Edit,比如ed_dbo,ed_username,ed_pwd
2)将用户的Input作为parameters形成conn.connectionString
3)then try conn.open() on except do ...(ole error handle)
(注意:design时conn的Active Status为False, conn.LoginPrompt := false)
4)at last, 宰了frm_dblogin
 
try
with DataBase1 do
begin
Connected:=False;
LoginPrompt:=False;
DriverName:='MSSQL';
DatabaseName:='database1';
Params.Clear;
Params.Add(' SREVER NAME = 192.168.0.1');
Params.Add('Database Name= Northwind' ) ;
Params.Add('User Name= sa');
Params.Add('Password=');
Connected:=True;

end;
ShowMessage('Ok');
except
MessageBox(Application.Handle, '登录数据库失败了!
请确定服务器已运行或与系管理员联系。','登录数据库',MB_ICONWarning+mb_OK);
Application.Terminate;
Exit;
end;

出错!!!!
 
把以上代码写在datamoudle的oncreate里面
 
哪儿出错呢?错误解释贴出来三。不过代码是应该在OnCreate中,因为datamoudle一启动就
要Create,若你没放在里面,Create的时候就出错了,还没到你那儿来。
 
应将DM放到AOTU-CREATE中的第一位,再用TRY来数据库是否联接!
 
在project中写代码,就可以解决了.
 
多人接受答案了。
 
后退
顶部