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_coltypLongBinary 或 JET_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