procedure TForm1.Button1Click(Sender: TObject);
var
  StrList: TStringList;
begin
  StrList := TStringList.Create;
  try
    ADOConnection1.GetTableNames(StrList, False);
    Memo1.Lines.Assign(StrList);
  finally
    FreeAndNil(StrList);
  end;
end;

解决方案 »

  1.   

    ADOConnection1.GetTableNames(Listbox1.Items,false);
    false 表示不要系统表 !
      

  2.   

    这一步是用TSession对象获得所有表的列表
    Session->GetTableName(S,"*.*",true,false,list);
      

  3.   

    ORACLE:
    select table_name from user_tables在ORACLE里可以用这样的SQL得到用户的所有表,SQL SERVER 中也应该有类似的保存用户对象名的视图或表。我建议自己建一个表存你的表名(物理名,逻辑名等)信息,这样操作起来更方便!
      

  4.   

    select name from sysobjects where type='u'
    以后的自己看着办。