PvAddTable()
既存の辞書とデータ ファイルの、テーブル プロパティで指定された位置に、新規のテーブルを作成します。
ヘッダー ファイル:ddf.h(
ヘッダー ファイルも参照)
関数が最初に利用可能になるライブラリ:w3dbav75.dll(Windows)、libpsqldti.so(Linux)(
リンク ライブラリも参照)
構文
PRESULT PvAddTable(
WORD dictHandle,
WORD columnCount,
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 を参照してください。
関連項目