Api.JetEnumerateColumns 方法
从游标的当前记录或该游标的副本缓冲区中有效地检索一组列及其值。 检索到的列和值可以受列 ID、itagSequence 数字和其他特征的列表的限制。 此列检索 API 是唯一的,因为它在动态分配的内存中返回信息,该内存是使用用户提供的与 realloc 兼容的回调获取的。 这种新的灵活性允许高效检索具有特定特征 ((如调用方未知的大小和多重性) )的列数据。 这样就无需使用 JetRetrieveColumn 的发现模式来确定这些特征,从而设置对 JetRetrieveColumn 的最终调用,以便成功检索所需数据。
此 API 不符合 CLS。
Namespace:Microsoft.Isam.Esent.Interop
装配: Microsoft.Isam.Esent.Interop.dll) 中的 Microsoft.Isam.Esent.Interop (
语法
'Declaration
<CLSCompliantAttribute(False)> _
Public Shared Function JetEnumerateColumns ( _
sesid As JET_SESID, _
tableid As JET_TABLEID, _
numColumnids As Integer, _
columnids As JET_ENUMCOLUMNID(), _
<OutAttribute> ByRef numColumnValues As Integer, _
<OutAttribute> ByRef columnValues As JET_ENUMCOLUMN(), _
allocator As JET_PFNREALLOC, _
allocatorContext As IntPtr, _
maxDataSize As Integer, _
grbit As EnumerateColumnsGrbit _
) As JET_wrn
'Usage
Dim sesid As JET_SESID
Dim tableid As JET_TABLEID
Dim numColumnids As Integer
Dim columnids As JET_ENUMCOLUMNID()
Dim numColumnValues As Integer
Dim columnValues As JET_ENUMCOLUMN()
Dim allocator As JET_PFNREALLOC
Dim allocatorContext As IntPtr
Dim maxDataSize As Integer
Dim grbit As EnumerateColumnsGrbit
Dim returnValue As JET_wrn
returnValue = Api.JetEnumerateColumns(sesid, _
tableid, numColumnids, columnids, _
numColumnValues, columnValues, allocator, _
allocatorContext, maxDataSize, grbit)
[CLSCompliantAttribute(false)]
public static JET_wrn JetEnumerateColumns(
JET_SESID sesid,
JET_TABLEID tableid,
int numColumnids,
JET_ENUMCOLUMNID[] columnids,
out int numColumnValues,
out JET_ENUMCOLUMN[] columnValues,
JET_PFNREALLOC allocator,
IntPtr allocatorContext,
int maxDataSize,
EnumerateColumnsGrbit grbit
)
parameters
sesid
类型: Microsoft.Isam.Esent.Interop.JET_SESID要使用的会话。
tableid
类型: Microsoft.Isam.Esent.Interop.JET_TABLEID要从中检索数据的游标。
numColumnids
类型: System.Int32JET_ENUMCOLUMNIDS数。
columnids
类型:[]列 ID 的可选数组,每个列 ID 都有要枚举的 itagSequence 数字的可选数组。
numColumnValues
类型: System.Int32返回检索到的列值的数目。
columnValues
类型:[]返回枚举的列值。
分配器
类型: Microsoft.Isam.Esent.Interop.JET_PFNREALLOC用于分配内存的回调。
allocatorContext
类型: System.IntPtr分配回调的上下文。
maxDataSize
类型: System.Int32设置要从长文本或长二进制列返回的数据量的上限。 此参数可用于防止枚举非常大的列值。
grbit
类型: Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbit检索选项。
返回值
类型: Microsoft.Isam.Esent.Interop.JET_wrn
警告或成功。
另请参阅
参考
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈