JET_SETCOLUMN構造体
適用対象: Windows |Windows Server
JET_SETCOLUMN構造体
JET_SETCOLUMN構造体には、JetSetColumns の入力パラメーターと出力パラメーターが含まれています。 構造体のフィールドは、設定する列の値、設定方法、列セット データの取得場所を示します。
typedef struct {
JET_COLUMNID columnid;
const void* pvData;
unsigned long cbData;
JET_GRBIT grbit;
unsigned long ibLongValue;
unsigned long itagSequence;
JET_ERR err;
} JET_SETCOLUMN;
メンバー
columnid
設定する列の列識別子。
pvData
列に設定するデータへのポインター。
cbData
pvData から始まる割り当てのサイズ (バイト単位)。
grbit
この呼び出しに使用するオプションを含むビットのグループ。これには、次の 0 個以上が含まれます。
値 |
説明 |
---|---|
JET_bitSetAppendLV |
JET_coltypLongText型または JET_coltypLongBinary 型の列にデータ を追加します。 同じ動作を実現するには、既存の long 値のサイズを決定し、psetinfo で ibLongValue を指定します。 ただし、既存の列値のサイズを把握する必要がないため、この grbit を使用する方が簡単です。 |
JET_bitSetOverwriteLV |
既存の long 値を新しいデータに置き換えます。 このオプションを使用すると、新しいデータを設定する前に、既存の long 値が 0 (ゼロ) の長さに設定されているかのように表示されます。 |
JET_bitSetSizeLV |
入力バッファーを、指定された columnid で記述された長い値の長さとして設定する整数バイト数として解釈し、指定されている場合は psetinfo-itagSequence> のシーケンス番号を解釈します。 指定されたサイズが既存の列の値よりも大きい場合、列は 0 で拡張されます。 サイズが既存の列の値より小さい場合、値は切り捨てられます。 |
JET_bitSetZeroLength |
値を長さ 0 に設定します。 通常、cbMax の 0 を渡すことで、列の値は NULL に設定されます。 ただし、 JET_coltypTextなどの一部の型では、列の値は NULL ではなく 0 の長さにすることができ、このオプションは NULL と 0 の長さを区別するために使用されます。 |
JET_bitSetSeparateLV |
長い値 ( JET_coltypLongText 型または JET_coltypLongBinaryの列) を、残りのレコード データとは別に格納します。 これは通常、長い値のサイズによって残りのレコード データと共に格納されない場合に発生します。 ただし、このオプションを使用して、長い値を個別に格納することができます。 サイズが 4 バイト以下の長い値は、強制的に分離できないことに注意してください。 このような場合、 オプションは無視されます。 |
JET_bitSetUniqueMultiValues |
複数値列に個別の値を適用します。 このオプションでは、変換を行わずにソース列データを他の既存の列値と比較し、重複が見つかった場合はエラーが返されます。 このオプションを指定すると、JET_bitSetAppendLv、JET_bitSetOverwriteLV、JET_bitSetSizeLVも指定できません。 |
JET_bitSetUniqueNormalizedMultiValues |
複数値列に個別の値を適用します。 このオプションは、列データのキー正規化変換を他の同様に変換された既存の列値と比較し、重複が見つかった場合にエラーが返されます。 このオプションを指定すると、JET_bitSetAppendLv、JET_bitSetOverwriteLV、JET_bitSetSizeLVも指定できません。 |
JET_bitSetRevertToDefaultValue |
以降の列の取得操作で、列が既定の列値を返すようにします。 既存の列値はすべて削除されます。 このオプションは、タグ付き列、スパース列、または複数値列にのみ適用されます。 |
JET_bitSetIntrinsicLV |
可能であれば、長い値 ( JET_coltypLongText 型またはJET_coltypeLongBinaryの列) を残りのレコード データと共に格納します。 通常、長い列は、長さが 1024 バイトを超える場合、またはレコード長がページ サイズ関連のサイズ制限を超える場合に個別に格納されます。 ただし、このオプションを設定すると、残りのレコード データとは別にこの列値を格納するのではなく、列の設定操作がエラー JET_errColumnTooBigで失敗します。 |
ibLongValue
JET_coltypLongBinary型の列から取得される最初のバイトへのオフセット。JET_coltypLongText。
itagSequence
複数値列の値のシーケンス番号について説明します。 itagSequence が 0 の場合、列の値セットを複数値列の新しいインスタンスとして追加する必要があることを示します。
err
列の設定操作から返されるエラー コードと警告。
要件
要件 | 値 |
---|---|
Client |
Windows Vista、Windows XP、または Windows 2000 Professional が必要です。 |
[サーバー] |
Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。 |
Header |
Esent.h で宣言されています。 |