呵呵赚了function GetSQLServerList(AList: TStrings): Boolean; var i: integer; vSQLServer: Variant; vServerList: Variant; begin Result := False; if AList = nil then Exit; AList.Clear; try vSQLServer := CreateOleObject('SQLDMO.Application'); vServerList := vSQLServer.ListAvailableSQLServers; for i := 1 to vServerlist.Count do AList.Add (vServerlist.item(i)); Result := True; finally vSQLServer := NULL; vServerList := NULL; end; end;
uses Comobj; procedure TForm1.Button1Click(Sender: TObject); var SQLServer:Variant; ServerList:Variant; i,nServers:integer; sRetValue:String; begin SQLServer := CreateOleObject('SQLDMO.Application'); ServerList:= SQLServer.ListAvailableSQLServers; nServers:=ServerList.Count; for i := 1 to nservers do ListBox1.Items.Add(ServerList.Item(i)); SQLServer:=NULL; serverList:=NULL; 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;
var
i: integer;
vSQLServer: Variant;
vServerList: Variant;
begin
Result := False;
if AList = nil then Exit;
AList.Clear;
try
vSQLServer := CreateOleObject('SQLDMO.Application');
vServerList := vSQLServer.ListAvailableSQLServers;
for i := 1 to vServerlist.Count do
AList.Add (vServerlist.item(i));
Result := True;
finally
vSQLServer := NULL;
vServerList := NULL;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
SQLServer:Variant;
ServerList:Variant;
i,nServers:integer;
sRetValue:String;
begin
SQLServer := CreateOleObject('SQLDMO.Application');
ServerList:= SQLServer.ListAvailableSQLServers;
nServers:=ServerList.Count;
for i := 1 to nservers do
ListBox1.Items.Add(ServerList.Item(i));
SQLServer:=NULL;
serverList:=NULL;
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;