「TableをX++で作るには?」の編集履歴(バックアップ)一覧に戻る

TableをX++で作るには? - (2012/04/24 (火) 16:31:19) の編集履歴(バックアップ)


TableをX++で作るには、AOTの操作関数を使います。

クラスを作成し(例:TableManagerClass)、以下のようなメソッドを定義します。
static void CreateTable(str _tablePath, str _tableName)
{   
   // テーブルを作成する
   TreeNode      treeNode;
   ;

   if(TreeNode::findNode(_tablePath + _tableName)) // テーブルが既に存在した場合
   {
       info(_tablePath + _tableName + " は既に存在しています");
   }
   else
   {
       // 追加先のノードを取得
       treeNode = TreeNode::findNode(_tablePath);
   
       // テーブルを追加
       treeNode.AOTadd(_tableName);

       // AOTと同期させる
       SqlDataDictionary::synchronize();
       
       info(_tablePath + _tableName + " を追加しました");
   }
}

Jobを作成し、以下のように書きます。
static void JobCreateTable(Args _args)
{
   // テーブルを作成する
   str tablePath;
   str tableName;
   ;

   // テーブルのパスとテーブル名
   tablePath = "\\Data Dictionary\\Tables\\";
   tableName = "Table_Test";
   
   // テーブルを生成する
   TableManagerClass::CreateTable(tablePath, tableName);
}

Jobを実行するとテーブルが作成されます。
(既にテーブルが存在する場合には、メッセージのみ表示しています)