//获取数据库服务器列表 Function Tfrm_START.GetDataBaseServerName :String ; var SQLServer: Variant; ServerList: Variant; i , nServers: integer; begin Result := '' ; try SQLServer := CreateOleObject('SQLDMO.Application'); ServerList:= SQLServer.ListAvailableSQLServers; nServers := ServerList.Count; if nServers = 0 then begin MessageDlg('网络中没有数据库服务器!', mtWarning ,[mbYes],0); Exit; end else //有数据库服务器 begin if not Assigned(frm_SQLServerName) then begin frm_SQLServerName := Tfrm_SQLServerName.Create(nil); try with frm_SQLServerName do begin for i := 1 to nservers do begin ListBox1.Items.Add(ServerList.Item(i)); end; case frm_SQLServerName.ShowModal of //返回值 mrOk: begin Result := ListBox1.Items[ListBox1.ItemIndex]; end; end; end; //with frm_SQLServerName do finally FreeAndNil(frm_SQLServerName); end; end; //if not Assigned(frm_SQLServerName) then end; finally SQLServer := Null; serverList := Null; end; end;
uses ComObj ------------------------Function TForm1.GetDataBaseServerName:Variant ; var SQLServer: Variant; ServerList: Variant; begin SQLServer := CreateOleObject('SQLDMO.Application'); ServerList:= SQLServer.ListAvailableSQLServers; Result:=ServerList; end; procedure TForm1.Button2Click(Sender: TObject); var i,nServers:integer; ServerList: Variant; begin ServerList:=GetDataBaseServerName; nServers:=ServerList.count; if nServers=0 then Exit; for i := 1 to nservers do begin ListBox1.Items.Add(ServerList.Item(i)); end; end;
Function Tfrm_START.GetDataBaseServerName :String ;
var
SQLServer: Variant;
ServerList: Variant;
i , nServers: integer;
begin
Result := '' ;
try
SQLServer := CreateOleObject('SQLDMO.Application');
ServerList:= SQLServer.ListAvailableSQLServers;
nServers := ServerList.Count;
if nServers = 0 then
begin
MessageDlg('网络中没有数据库服务器!', mtWarning ,[mbYes],0);
Exit;
end
else //有数据库服务器
begin
if not Assigned(frm_SQLServerName) then
begin
frm_SQLServerName := Tfrm_SQLServerName.Create(nil);
try
with frm_SQLServerName do
begin
for i := 1 to nservers do
begin
ListBox1.Items.Add(ServerList.Item(i));
end;
case frm_SQLServerName.ShowModal of //返回值
mrOk:
begin
Result := ListBox1.Items[ListBox1.ItemIndex];
end;
end;
end; //with frm_SQLServerName do
finally
FreeAndNil(frm_SQLServerName);
end;
end; //if not Assigned(frm_SQLServerName) then
end;
finally
SQLServer := Null;
serverList := Null;
end;
end;
------------------------Function TForm1.GetDataBaseServerName:Variant ;
var
SQLServer: Variant;
ServerList: Variant;
begin
SQLServer := CreateOleObject('SQLDMO.Application');
ServerList:= SQLServer.ListAvailableSQLServers;
Result:=ServerList;
end;
procedure TForm1.Button2Click(Sender: TObject);
var i,nServers:integer;
ServerList: Variant;
begin
ServerList:=GetDataBaseServerName;
nServers:=ServerList.count;
if nServers=0 then Exit;
for i := 1 to nservers do
begin
ListBox1.Items.Add(ServerList.Item(i));
end;
end;