如题

解决方案 »

  1.   

    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;
    这是显示局域网中所有启动的SQL Server 的机器名,如果本机的SQL Server没有启动则不会显示,这个方法不怎么好,不知道有没有好的方法。
    ----------------------------------------------------------------
                 花自飘零水自流,一种相思,两处闲愁。
                   此情无计可消除,才下眉头,又上心头。
    ----------------------------------------------------------------
      

  2.   

    转贴:
    var
       i: integer;
       sRetValue: String;
       SQLServer: Variant;
       ServerList: Variant;
    begin
      Result := False;
      List.Clear;
      try
        try
          SQLServer := CreateOleObject('SQLDMO.Application');
          ServerList := SQLServer.ListAvailableSQLServers;
          for i := 1 to Serverlist.Count do
       if serverlist.item(i)<>'(local)' then
            begin
              showmessage('对不起,sqlserver服务未启动!');
              break; 
            end;
        except
          showmessage('对不起,sqlserver没有安装!');
        end;
      Finally
        SQLServer := NULL;
        ServerList := NULL;
      end;
    end;