小弟,用Delphi7编一MIS,想用一combobox控件,显示局域网内所有可以连接的SQL server服务器的服务器名,拜托各位大虾指点一下!

解决方案 »

  1.   

    cmbDb.Clear;
      with dm.tmpQry do
      begin
        close;
        sql.Clear;
        sql.Add('exec sp_helpdb');
        open;
        while not eof do
        begin
          cmbDb.Items.Add(trim(fields[0].asstring));
          next;
        end;
        close;
      end;
      

  2.   

    procedure TFrmMain.FormCreate(Sender: TObject);
    var
        SQLServer:Variant;
        ServerList:Variant;
        i,nServers:integer;
    begin
        Cn := TadoConnection.Create(Self);
        Try
            begin
                SQLServer := CreateOleObject('SQLDMO.Application');
                ServerList:= SQLServer.ListAvailableSQLServers;
                nServers:=ServerList.Count;
                for i := 1 to nservers do
                    CmbServer.Items.Add(ServerList.Item(i));
                if CmbServer.Items.Count <> 0 then
                    CmbServer.ItemIndex := 0;
            end
        Except    End;
    end;
      

  3.   

    to liwenyang1118(李文央)
    你说的是显示数据库名,不过仍然谢谢你!
    to DG_1(杂工2005)
    谢谢!!!!!^-^