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 开始的分配大小(以字节为单位)。 检索列操作不会在 pvData 上存储比 cbData 更多的数据。

cbActual

检索列操作检索的数据的大小(以字节为单位)。

grbit

包含列检索选项的一组位,其中包括零个或多个以下值。

含义

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_coltypLongBinaryJET_coltypLongText 的列检索的第一个字节的偏移量。

itagSequence

多值列中包含的值的序列号。 JET_RETRIEVECOLUMN中的 itagSequence 可以为 0。 如果 itagSequence 为 0,则返回多值列的实例数,而不是任何列数据。 itagSequence 值 0 不能用于对 JetRetrieveColumn 的调用。

columnidNextTagged

通过将 0 作为列 id 传递给 JetRetrieveColumn 来检索所有标记列时,标记列、多值列或稀疏列的列 id

err

从检索列返回的错误代码和警告。

要求

要求

客户端

需要 Windows Vista、Windows XP 或 Windows 2000 Professional。

服务器

需要 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server。

标头

在 Esent.h 中声明。

另请参阅

JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JET_RETRIEVECOLUMN
JetRetrieveColumn
JetRetrieveColumns