JET_COLUMNDEF 構造体
適用対象: Windows |Windows Server
JET_COLUMNDEF 構造体
JET_COLUMNDEF構造体は、列に格納できるデータを定義します。
typedef struct {
unsigned long cbStruct;
JET_COLUMNID columnid;
JET_COLTYP coltyp;
unsigned short wCountry;
unsigned short langid;
unsigned short cp;
unsigned short wCollate;
unsigned long cbMax;
JET_GRBIT grbit;
} JET_COLUMNDEF;
メンバー
cbStruct
この構造体のサイズ (バイト単位)。 sizeof( JET_COLUMNDEF) に設定する必要があります。
columnid
予約済み。 columnid は 0 (ゼロ) に設定する必要があります。
coltyp
列の型 (テキスト、バイナリ、数値など)。 詳細については、「 JET_COLTYP」を参照してください。
wCountry
予約済み。 wCountry は 0 (ゼロ) に設定する必要があります。
langid
互換性のために残されています。 langid は 0 (ゼロ) に設定する必要があります。
cp
列のコード ページ。 テキスト列の有効な値は、英語 (1252) と Unicode (1200) のみです。 0 の値は、既定値が使用されることを意味します (英語、1252)。 列がテキスト列でない場合、コード ページは自動的に 0 に設定されます。
wCollate
予約済み。 wCollate は 0 (ゼロ) に設定する必要があります。
cbMax
可変長列の最大長 (バイト単位)、または固定長列の長さ。
grbit
この呼び出しに使用するオプションを含むビットのグループ。次の値の 0 個以上が含まれます。
値 |
説明 |
---|---|
JET_bitColumnFixed |
列は固定されます。 列に格納されているデータの量に関係なく、常に 1 行に同じ量の領域が使用されます。 JET_bitColumnFixedは、JET_bitColumnTaggedでは使用できません。 このビットは、長い値 ( JET_coltypLongText および JET_coltypLongBinary) では使用できません。 |
JET_bitColumnTagged |
列にタグが付けられます。 データが含まれていない場合、タグ付けされた列はデータベース内の領域を占有しません。 このビットは、JET_bitColumnFixedでは使用できません。 |
JET_bitColumnNotNULL |
列を NULL 値に設定しないでください。 |
JET_bitColumnVersion |
列は、行のバージョンを指定するバージョン列です。 この列の値は 0 から始まり、行の更新ごとに自動的にインクリメントされます。 このビットは、 JET_coltypLong 列にのみ適用できます。 このビットは、JET_bitColumnAutoincrement、JET_bitColumnEscrowUpdate、またはJET_bitColumnTaggedでは使用できません。 |
JET_bitColumnAutoincrement |
列は自動的にインクリメントされます。 数値は増加する数値であり、テーブル内で一意であることが保証されます。 ただし、数値は連続していない可能性があります。 たとえば、5 行がテーブルに挿入された場合、"autoincrement" 列には値 { 1, 2, 6, 7, 8 } を含めることができます。 このビットは、 JET_coltypLong 型または JET_coltypCurrency型の列でのみ使用できます。 Windows 2000: Windows 2000 では、このビットは JET_coltypLong 型の列でのみ使用できます。 |
JET_bitColumnUpdatable |
このビットは、 JetGetColumnInfo の呼び出しでのみ有効です。 |
JET_bitColumnTTKey |
このビットは、 JetOpenTable の呼び出しでのみ有効です。 |
JET_bitColumnTTDescending |
このビットは、 JetOpenTempTable の呼び出しでのみ有効です。 |
JET_bitColumnMultiValued |
列には複数値を指定できます。 複数値の列には、0 個、1 つ以上の値を関連付けることができます。 複数値列のさまざまな値は、itagSequence メンバーと呼ばれる番号によって識別されます。これは、JET_RETINFO、JET_SETINFO、JET_SETCOLUMN、JET_RETRIEVECOLUMN、JET_ENUMCOLUMNVALUEなど、さまざまな構造体に属します。 複数値の列には、タグ付けされた列を指定する必要があります。つまり、固定長列または可変長列にすることはできません。 |
JET_bitColumnEscrowUpdate |
列がエスクロー更新列であることを指定します。 エスクロー更新列は、 JetEscrowUpdate を使用して異なるセッションによって同時に更新でき、トランザクションの一貫性を維持します。 エスクロー更新列は、次の条件も満たす必要があります。
|
JET_bitColumnUnversioned |
列は、バージョン情報のない で作成されます。 つまり、同じ名前の列を追加しようとする他のトランザクションは失敗します。 このビットは、 JetAddColumn でのみ役立ちます。 トランザクション内では使用できません。 |
JET_bitColumnMaybeNull |
将来利用するために予約されています。 |
JET_bitColumnFinalize |
JET_bitColumnFinalizeの代わりにJET_bitColumnDeleteOnZeroを使用します。 列を最終処理できることをJET_bitColumnFinalizeします。 最終処理できる列に 0 に達したエスクロー更新列がある場合、行は削除されます。 今後のバージョンでは、代わりにコールバック関数が呼び出される可能性があります (詳細については、「 JET_CALLBACK」を参照してください)。 最終処理できる列はエスクロー更新列である必要があります。 JET_bitColumnFinalizeは、JET_bitColumnUserDefinedDefaultでは使用できません。 |
JET_bitColumnUserDefinedDefault |
列の既定値は、コールバック関数によって提供されます。 「JET_CALLBACK」を参照してください。 ユーザー定義の既定値を持つ列は、タグ付けされた列である必要があります。 JET_bitColumnUserDefinedDefaultを指定すると、 pvDefault は JET_USERDEFINEDDEFAULT 構造体をポイントする必要があり、 cbDefault は sizeof( JET_USERDEFINEDDEFAULT ) に設定する必要があります。
|
JET_bitColumnDeleteOnZero |
列はエスクロー更新列であり、0 に達するとレコードが削除されます。 最終処理できる列の一般的な用途は、参照カウント フィールドとして使用し、フィールドが 0 に達するとレコードが削除されることです。 JET_bitColumnDeleteOnZeroは、JET_bitColumnFinalizeに関連しています。 Delete-on-zero 列はエスクロー更新列である必要があります。 JET_bitColumnDeleteOnZeroは、JET_bitColumnFinalizeでは使用できません。 JET_bitColumnDeleteOnZeroは、ユーザー定義の既定の列では使用できません。 |
必要条件
要件 | 値 |
---|---|
Client |
Windows Vista、Windows XP、または Windows 2000 Professional が必要です。 |
[サーバー] |
Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。 |
Header |
Esent.h で宣言されています。 |
参照
JET_CALLBACK
JET_COLTYP
JET_COLUMNCREATE
JET_COLUMNID
JET_GRBIT
JET_USERDEFINEDDEFAULT
JetAddColumn
JetEscrowUpdate
JetGetTableColumnInfo
JetOpenTempTable
JetOpenTempTable2
JetOpenTempTable3
JetRenameColumn