PvAddTable()
既存の辞書とデータ ファイルの、テーブル プロパティで指定された位置に、新規のテーブルを作成します。
ヘッダー ファイル:ddf.h(
「
ヘッダー ファイル
」
も参照)
関数が最初に利用可能になるライブラリ:w3dbav75.dll(Windows)、libpsqldti.so(Linux)、libpsqldti.dylib(OS X)(
「
リンク ライブラリ
」
も参照)
構文
PRESULT PvAddTable(
WORD
dictHandle
,
TABLEINFO
*
tableProps
,
COLUMNMAP
*
columnList
,
WORD
columnCount
,
INDEXMAP
*
indexList
,
WORD
indexCount
);
引数
In
dictHandle
PvOpenDatabase()
によって返される、開いている辞書のハンドル。
In
tableProps
テーブル情報を含む構造体。
In
columnList
テーブルに定義された列の配列。
In
columnCount
columnList 内の列数。
In
indexList
インデックス定義の配列。
In
indexCount
indexList 配列内のインデックス数。
戻り値
PCM_Success
操作は成功しました。
PCM_errFailed
操作は成功しませんでした。
PCM_errInvalidDictionaryHandle
指定された辞書ハンドルは存在しません。
PCM_errTableNotFound
指定されたテーブルが見つかりません。
PCM_errMemoryAllocation
メモリの割り当て中にエラーが発生しました。
PCM_errInvalidColumnName
指定された列名は無効です。
PCM_errInvalidDataType
指定されたデータ型は無効です。
PCM_errDuplicateColumnName
この列名は既にテーブルに存在します。
PCM_errInvalidDataSize
データ サイズが無効です。
PCM_errInvalidIndexName
インデックス名が無効です。
PCM_errColumnNotFound
セグメントに指定された列が見つかりません。
備考
まず
PvOpenDatabase()
を使用して、辞書を正常に開く必要があります。
この関数にはテーブル情報、列、インデックスの入力が必要です。テーブルの作成にインデックスは必要ないため、
indexCount
と
indexList
はオプションのパラメーターです。
同じ名前のテーブルが指定された辞書に既に存在している場合、この関数は失敗します。
テーブル プロパティは正しく設定する必要があり、少なくとも 1 列の配列を渡さなければなりません。
テーブルの説明に使用する
COLUMNMAP
、
INDEXMAP
配列と
TABLEINFO
構造体を割り当てて解放する必要があります。
COLUMNMAP フラグ
も参照してください。
PvGetTable()
関数で、行内でのフィールドのオフセットにアクセスできます。ddfstrct.h の COLUMNMAP 構造体は変更されて、この追加情報を持つようになりました。この新しいフィールドは、
PvAddTable()
および
PvFreeTable()
関数を呼び出すときは無視されます。ddfstrct.h および ddf.h を参照してください。
関連項目
PvStart()
PvOpenDatabase()
PvGetTableNames()
PvFreeTableNames()
PvDropTable()
PvCloseDictionary()
PvStop()