BDE方式,可以这样:
MyStringList := TStringList.Create;
try
  Session.GetTableNames('YOURodbcAlias', '',False, False, MyStringList);
  { Add the table names to a list box }
  ListBox1.Items = MyStringList;
finally
  MyStringList.Free;
end;

解决方案 »

  1.   

    如果是ADO方式,可以这样:
    procedure TForm1.Button1Click(Sender: TObject);var
      SL: TStrings;
      index: Integer;
    begin
      SL := TStringList.Create;
      try
        ADOConnection1.GetTableNames(SL, False);
        for index := 0 to (SL.Count - 1) do begin
          Table1.Insert;
          Table1.FieldByName('Name').AsString := SL[index];
          if ADOTable1.Active then ADOTable1.Close;
          ADOTable1.TableName := SL[index];
          ADOTable1.Open;
          Table1.FieldByName('Records').AsInteger := ADOTable1.RecordCount;      Table1.Post;
        end;
      finally
        SL.Free;
        ADOTable1.Close;
      end;
    end;