次の方法で共有


JET_RETRIEVECOLUMN 構造体

適用対象: Windows |Windows Server

JET_RETRIEVECOLUMN 構造体

JET_RETRIEVECOLUMN構造体には、JetRetrieveColumns の入力パラメーターと出力パラメーターが含まれています。 構造体のフィールドは、取得する列値、取得方法、および結果を保存する場所を示します。

    typedef struct {
      JET_COLUMNID columnid;
      void* pvData;
      unsigned long cbData;
      unsigned long cbActual;
      JET_GRBIT grbit;
      unsigned long ibLongValue;
      unsigned long itagSequence;
      JET_COLUMNID columnidNextTagged;
      JET_ERR err;
    } JET_RETRIEVECOLUMN;

メンバー

columnid

取得する列の列識別子。

pvData

列の値から取得されるデータの格納を開始するポインター。

cbData

pvData から始まる割り当てのサイズ (バイト単位)。 列の取得操作では、cbData よりも多くのデータが pvData に格納されません。

cbActual

列の取得操作によって取得されるデータのサイズ (バイト単位)。

grbit

列取得のオプションを含むビットのグループ。次の値の 0 個以上が含まれます。

説明

JET_bitRetrieveCopy

元の値ではなく、変更された値を取得します。 値が変更されていない場合は、元の値が取得されます。 この方法では、レコードが挿入または更新されたときに、まだ挿入または更新されていない値を取得できます。

JET_bitRetrieveFromIndex

可能であれば、レコードにアクセスせずにインデックスから列の値を取得します。 この方法では、インデックス エントリ自体から必要なデータを使用できる場合に、レコードの不要な読み込みを回避できます。 元の列の値をインデックスから取得できない場合は、元に戻せない変換またはデータの切り捨てにより、レコードにアクセスし、通常どおりにデータを取得します。 これはパフォーマンス オプションであり、列の値をインデックスから取得できる可能性がある場合にのみ指定する必要があります。 現在のインデックスがクラスター化インデックスの場合、クラスター化インデックス (プライマリ インデックス) のインデックス エントリはレコード自体であるため、このオプションを指定しないでください。 JET_bitRetrieveFromPrimaryBookmarkも設定されている場合、このビットを設定できません。

JET_bitRetrieveFromPrimaryBookmark

インデックス ブックマークから列の値を取得します。プライマリ インデックスと現在のインデックスの両方に列が表示される場合、インデックス値とは異なる場合があります。 現在のインデックスがクラスター化インデックスまたはプライマリ インデックスの場合は、このオプションを指定しないでください。 JET_bitRetrieveFromIndexも設定されている場合、このビットを設定できません。

JET_bitRetrieveTag

pretinfo-itagSequence 内の複数値の列値の>シーケンス番号を取得します。 itagSequence フィールドは、多くの場合、レコードから複数値の列値を取得するための入力として使用されます。 ただし、インデックスから値を取得する場合は、インデックス エントリを特定のシーケンス番号に関連付けて、このシーケンス番号を取得することもできます。 シーケンス番号の取得はコストのかかる操作であり、必要な場合にのみ行う必要があります。

JET_ bitRetrieveNull

複数値の列 NULL 値を取得します。 このオプションを指定しない場合、複数値列の NULL 値は自動的にスキップされます。

JET_bitRetrieveIgnoreDefault

要求されたシーケンス番号が 1 で、レコード内の列の設定値がない場合に NULL 値が返されます。 このオプションは、複数値の列にのみ影響します。

JET_bitRetrieveLongId

このフラグは内部使用のみを目的としており、アプリケーションで使用することを意図したものではありません。

JET_bitRetrieveLongValueRefCount

このフラグは内部使用のみを目的としており、アプリケーションで使用することを意図したものではありません。

ibLongValue

JET_coltypLongBinary型またはJET_coltypLongText型の列から取得される最初のバイトへのオフセット。

itagSequence

複数値列に含まれる値のシーケンス番号。 JET_RETRIEVECOLUMNitagSequence には 0 を指定できます。 itagSequence が 0 の場合は、列データではなく、複数値の列のインスタンス数が返されます。 itagSequence 値 0 は、JetRetrieveColumn の呼び出しでは使用できません。

columnidNextTagged

タグ付けされたすべての列が取得される場合の、タグ付けされた列、複数値、またはスパース列の columnidJetRetrieveColumncolumnid として 0 を渡します。

err

列の取得から返されるエラー コードと警告。

要件

要件

Client

Windows Vista、Windows XP、または Windows 2000 Professional が必要です。

[サーバー]

Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。

Header

Esent.h で宣言されています。

参照

JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JET_RETRIEVECOLUMN
JetRetrieveColumn
JetRetrieveColumns