フォーラム


ゲスト  

ようこそ ゲスト さん。このフォーラムに投稿するには 登録が必要です。

ページ: [1]
トピック: [FireDAC] フィールド情報の取得
au
メンバー
投稿数: 16
[FireDAC] フィールド情報の取得
on: 2013/04/22 11:18 Mon

FireDACと付けてますが、中身はAnyDACを使用しています。今のところは、クラス名とか変更されてないっぽいのでそのまま使えるかと思います。

まずは、フォームにTADConnection、TADGUIxWaitCursor、TADMetaInfoQuery、TADTransaction、TADPhysIBDriverLink以上の5個のコンポーネントを配置。
この場合は、Firebird又はInterbaseに接続です。接続するデータベースに対応したDriverLinkを配置するかユニットのUsesを行って下さい。

ADConnectionのプロパティを設定しデータベースに接続する。
接続出来たら、下記コードの方な感じでフィールドのデータが取得出来ます。


ADMetaInfoQuery1.MetaInfoKind := mkTableFields;
ADMetaInfoQuery1.ObjectName := 'テーブル名';
ADMetaInfoQuery1.Open;

while Not ADMetaInfoQuery1.Eof do
begin
ADMetaInfoQuery1.FieldByName('COLUMN_NAME').AsString; // フィールド名
ADMetaInfoQuery1.FieldByName('COLUMN_TYPENAME').AsString; // 型名
TADDataType(ADMetaInfoQuery1.FieldByName('COLUMN_DATATYPE').AsInteger); // 型
ADMetaInfoQuery1.FieldByName('COLUMN_PRECISION').AsString // PRECISION
ADMetaInfoQuery1.FieldByName('COLUMN_SCALE').AsString; // SCALE
ADMetaInfoQuery1.Next;
end;

どういうデータがどういう名前で取得出来るかは、http://docs.embarcadero.com/products/rad_studio/firedac/Metadata_Structure.htmlを参照。

ページ: [1]
WP Forum Server by ForumPress | LucidCrew
バージョン: 1.7.5 ; ページロード: 0.019 sec.