我是连SqlServer2000,安装程序中不需包括有关ADO的任何东西。
只需在客户端安装SqlServer2000安装盘中的用户端软件或网络连接就可以了(其中包括
MDAC2.6)。
在程序中我是做一个登录Form,当MainForm的OnCreate时,激活这个LoginForm:
procedure TLoginFrm.BtLoginClick(Sender: TObject);
var
ConnectionString:String;
begin
ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False'+
';User ID='+EdUser.Text+
';Password='+EdPassword.Text+
';Initial Catalog=一个数据库名'+
';Data Source='+EdServer.Text+';';
Form1.ADOConnection1.ConnectionString:=ConnectionString;
Form1.ADOConnection1.LoginPrompt:=False;
try
Form1.ADOConnection1.Connected:=True;
ModalResult:=mrOK;
except
Application.MessageBox('数据库服务器登录失败,请检查:'+#13#10#13#10+
'1.输入是否正确。'+#13#10+
'2.数据库服务是否正常运行。'+#13#10+
'3.网络连接是否正确。','错误',MB_OK);
end;
end;
procedure TMainFrm.FormCreate(Sender: TObject);
begin
Connected:='DisConnected';
try
LoginFrm:=TLoginFrm.Create(Application);
if LoginFrm.ShowModal=mrOK then
Connected:='Connected';
finally
LoginFrm.Free;
end;
end;
procedure TMainFrm.FormActivate(Sender: TObject);
begin
if Connected<>'Connected' then
Close;
end;
可不可以做为参考(这可能不是你要的),这种做法大家看是不是合理?
(另:不过数据库服务器要用户输入,虽然可以固定一个名字,但想通用一些,有办法
用程序取得数据库服务器名?)