我想用DBComboBox把sql数据库中的所有数据库的名称列出来,如何实现?

解决方案 »

  1.   

    将数据源连接到
    select name from master..sysdatabases
      

  2.   

    或者直接用delphi的GetDataBaseNames
    MyStringList := TStringList.Create;
    try 
      Session.GetDatabaseNames(MyStringList);
      ComBoBox1.Items := MyStringList;
    finally
      MyStringList.Free;
    end;
      

  3.   

    或者直接用delphi的GetDataBaseNames
    MyStringList := TStringList.Create;
    try 
      Session.GetDatabaseNames(MyStringList);
      ComBoBox1.Items := MyStringList;
    finally
      MyStringList.Free;
    end;
    Microsoft OLE DB Provider for SQL Server 错误 '80040e31' 超时已过期 /Expert/reply.asp,行105
      

  4.   

    select name, DATABASEPROPERTY(name, N'IsDetached'),     (case when DATABASEPROPERTY(name, N'IsShutdown') is null then -1 else DATABASEPROPERTY(name, N'IsShutdown') end),     DATABASEPROPERTY(name, N'IsSuspect'), DATABASEPROPERTY(name, N'IsOffline'),     DATABASEPROPERTY(name, N'IsInLoad'),     (case when DATABASEPROPERTY(name, N'IsInRecovery') is null then -1 else DATABASEPROPERTY(name, N'IsInRecovery') end),     (case when DATABASEPROPERTY(name, N'IsNotRecovered') is null then -1 else DATABASEPROPERTY(name, N'IsNotRecovered') end),     DATABASEPROPERTY(name, N'IsEmergencyMode'), DATABASEPROPERTY(name, N'IsInStandBy'), has_dbaccess(name),     status, category, status2 from master.dbo.sysdatabases
      

  5.   

    select * from master.dbo.sysdatabases
      

  6.   

    select name from master.sysdatabasesMicrosoft® SQL Server™ 上的每个数据库在表中占一行。最初安装 SQL Server 时,sysdatabases 包含 master、model、msdb、mssqlweb 和 tempdb 数据库的项。该表只存储在 master 数据库中
      

  7.   

    我不能连到那章表,SYSDATABASE,在TABLENAME选项中没有这个表的名字,我该如何做?
      

  8.   

    倒,你不是说sql数据库?用二楼的方法,通用的
      

  9.   

    我已经弄好了,但是现在有个问题,就是选择项目后,怎样在name中显示?好象没有显示出来
      

  10.   

    什么意思,添加到COMbobox吗?
    while not eof do  begin
      combobox1.items.add(fieldbyname('name').asstring);
    ....
      next;
    end;
      

  11.   

    //如果是SqlServer数据库,就这样读取所有数据库
      combobox_database.Clear;
      with Adoquery_temp do
      begin
        Close;
        Sql.Clear;
        Sql.Add('USE master SELECT dbid, DB_NAME(dbid) AS DB_NAME  FROM sysdatabases ORDER BY dbid');
        Open;
        First;
        while not eof do
        begin
          combobox_database.Items.Add(FieldBYName('db_name').AsString);
          next;
        end;
        lbl_database_count.Caption :=inttostr(recordcount);
      end;
      combobox_table.Clear;
      adoconnection1.GetTableNames(combobox_table.Items,false);
      

  12.   

    我是说选了之后在COMbobox里面没有数据显示出来,怎么才能显示你选中的数据呢?
      

  13.   

    adoconnection1.GetTableNames(combobox_table.Items);