TFDTable.CreateTableの使用方法

提供: Support
移動先: 案内検索

概要

XE7以降のFireDACにおいて、TFDTableコンポーネントの機能としてCreateTableメソッドが追加されました。しかしながらdocwikiの説明にはCreateTableメソッドに関する情報が記載されていないため、コード例を交えて簡単な使い方をご紹介します。

解説

CreateTableメソッドは、FireDACからテーブルの新規作成、あるいはテーブルの再作成を行うための関数です。このメソッドの第一パラメータとしてTrueを指定した場合、既存のテーブルに対してDrop Table文を発行し、一度テーブルを削除した後、Create Table文を発行してテーブルを再作成します。

それに対して第一パラメータとしてFalseを指定した場合、Create Table文を発生し、テーブルを新規作成します(なお、第一パラメータのデフォルトは、Trueです)。

以下、CreateTableメソッドの簡単な使い方を示したコード例です(下記のテーブルをTFDTable.CreateTableメソッドを利用して新規作成します)。

CREATE TABLE TABLE1 
(
  ID    INTEGER NOT NULL,
  FIELD1        int,
  FIELD2        VARCHAR(10),
  CONSTRAINT "PK_TABLE1" PRIMARY KEY ("ID")
);


Delphiの場合:

FDTable1.TableName:='Table1';
FDTable1.DeleteIndexes;
FDTable1.FieldDefs.Add('ID', ftInteger, 0, False);
FDTable1.FieldDefs.Add('Field1', ftInteger, 0, False);
FDTable1.FieldDefs.Add('Field2', ftString, 10, False);
FDTable1.AddIndex('idx','ID','',[soPrimary]);
FDTable1.CreateTable(False);


C++Builderの場合:

FDTable1->TableName="Table1";
FDTable1->DeleteIndexes(); 
FDTable1->FieldDefs->Add("ID", ftInteger, 0, False); 
FDTable1->FieldDefs->Add("Field1", ftInteger, 0, False); 
FDTable1->FieldDefs->Add("Field2", ftString, 10, False);
TFDSortOptions options; 
options << soPrimary; 
FDTable1->AddIndex("idx","ID","",options); 
FDTable1->CreateTable(False);