ADOConnection1.GetTableNames
Database1.Session.GetTableNames
Session1.GetTableNames

解决方案 »

  1.   

    SQL Server 7:
    select name from master..sysdatabases
      

  2.   

    VB版的:
      
        Dim i As Integer
        Dim sDSNItem As String * 1024
        Dim sDRVItem As String * 1024
        Dim sDSN As String
        Dim sDRV As String
        Dim iDSNLen As Integer
        Dim iDRVLen As Integer
        Dim lHenv As Long
        
        If SQLAllocEnv(lHenv) <> -1 Then
          Do Until i <> SQL_SUCCESS
            sDSNItem = Space(1024)
            sDRVItem = Space(1024)
            i = SQLDataSources(lHenv, SQL_FETCH_NEXT, sDSNItem, 1024, iDSNLen, sDRVItem, 1024, iDRVLen)
            sDSN = VBA.Left(sDSNItem, iDSNLen)
            sDRV = VBA.Left(sDRVItem, iDRVLen)
        
            If sDSN <> Space(iDSNLen) Then
              cboDSN.AddItem sDSN
            End If
            If sDRV <> Space(iDRVLen) Then
              cboDRV.AddItem sDRV
            End If
          Loop
        End If
        cboDSN.ListIndex = 0
      

  3.   

    主要是SQLAllocEnv,SQLDataSources两个API,具体用法查查MSDN
      

  4.   

    是不是这样
    begin
    mylist:=TStringlist.Creat;
    Try
     Session.Getdatabasename(mylist);
     Result:=VararrayCreate([0,mylist.count-1],varolestr);
     for i:=0 to mylist.count-1 do
      result[i]:=mylist[i];
    finally
      mylist.free;
    end;
     我只知道这个
      
      

  5.   

    谢谢大家,但我想知道如何提取一台机器中的所有数据库,而非某一数据库中的所有Table
      

  6.   

    是这样
    begin
    mylist:=TStringlist.Creat;
    Try
    Session.Getdatabasename(mylist);
    Result:=VararrayCreate([0,mylist.count-1],varolestr);
    for i:=0 to mylist.count-1 do
      result[i]:=mylist[i];
    finally
      mylist.free;
    end;
      

  7.   

    firetoucher(蹈火者)说的没错啊