データベース内の全テーブル名を取得する

あるデータベース内の全テーブル名を取得するには TSessionコンポーネントの GetTableNamesメソッドを使用します。引数に TStrings型の変数を渡せば, 一覧が生成されて返されます。第3引数, 第4引数は拡張, システムテーブルを表示するかどうかを指定できます。ここを Trueに設定すると ORACLE7(ODBC)ならシステムテーブルやシノニムも表示されます。

■ データベース内の全テーブル名を取得する例
  procedure TForm1.ListBox1Click(Sender: TObject);
  var
    sltTableNames : TStringList;
  begin
    {テーブル名をいれるリスト}
    sltTableNames   :=   TStringList.Create;
    {セッション名は自動で定義}
    Session1.AutoSessionName  :=  True;
    {テーブル名を取得 / 最初の引数にはデータベース名かエリアス名}
    Session1.GetTableNames(ListBox1.Items[ListBox1.ItemIndex], '', False, False, sltTableNames);  
    ListBox2.Items.Assign(sltTableNames);
    sltTableNames.Free;
  end;