在窗口上放置一个listbox控件,命名为:listbox1,原代码如下所示: procedure TForm1.FormCreate(Sender: TObject); var SQLServer:Variant; ServerList:Variant; i,nServers:integer; begin SQLServer := CreateOleObject('SQLDMO.Application'); ServerList:= SQLServer.ListAvailableSQLServers; if serverlist.count<1 then begin //如果服务器不存在,则退出系统 showmessage('服务器不存在,请检测服务器是否已经开机或者服务是否打开了'); application.Terminate; end else begin for i:=1 to serverlist.count do listbox1.Items.Add(serverlist.item(i)) ; showmessage(serverlist.item(1)+'服务器已经打开,可以正常使用本系统'); adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;Persist Security info=False;UserID=sa;InitialCatalog=ideal_db;DataSource='+ServerList.Item(1); end; SQLServer:=NULL; serverList:=NULL; end;
一般情况下,当前机器的sql server的服务名一般就是计算机名(也有特殊情况的,但很少),所以认为只要取得了当前计算机名就可以了取得计算机名。 function tform1.get_name:string; var ComputerName: PChar; size: DWord; begin GetMem(ComputerName,255); size:=255; if GetComputerName(ComputerName,size)=False then result:='' else result:=ComputerName; FreeMem(ComputerName); end;
关键字:SQL 服务器名称
类 别:数据库
在窗口上放置一个listbox控件,命名为:listbox1,原代码如下所示:
procedure TForm1.FormCreate(Sender: TObject);
var
SQLServer:Variant;
ServerList:Variant;
i,nServers:integer;
begin
SQLServer := CreateOleObject('SQLDMO.Application');
ServerList:= SQLServer.ListAvailableSQLServers;
if serverlist.count<1 then
begin //如果服务器不存在,则退出系统
showmessage('服务器不存在,请检测服务器是否已经开机或者服务是否打开了');
application.Terminate;
end
else
begin
for i:=1 to serverlist.count do
listbox1.Items.Add(serverlist.item(i)) ;
showmessage(serverlist.item(1)+'服务器已经打开,可以正常使用本系统');
adoconnection1.ConnectionString:='Provider=SQLOLEDB.1;Persist Security info=False;UserID=sa;InitialCatalog=ideal_db;DataSource='+ServerList.Item(1);
end;
SQLServer:=NULL;
serverList:=NULL;
end;
function tform1.get_name:string;
var ComputerName: PChar; size: DWord;
begin
GetMem(ComputerName,255);
size:=255;
if GetComputerName(ComputerName,size)=False then
result:=''
else
result:=ComputerName;
FreeMem(ComputerName);
end;