Поделиться через


Метод Api.JetEnumerateColumns

Эффективно извлекает набор столбцов и их значения из текущей записи курсора или буфера копирования этого курсора. Полученные столбцы и значения могут быть ограничены списком идентификаторов столбцов, номерами itagSequence и другими характеристиками. Этот API извлечения столбцов уникален тем, что он возвращает сведения в динамически выделенной памяти, полученной с помощью предоставленного пользователем обратного вызова, совместимого с realloc. Эта новая гибкость позволяет эффективно извлекать данные столбцов с определенными характеристиками (такими как размер и кратность), которые неизвестны вызывающей объекту. Это избавляет от необходимости использовать режимы обнаружения JetRetrieveColumn для определения этих характеристик, чтобы настроить окончательный вызов JetRetrieveColumn, который будет успешно извлекать нужные данные.

Этот API несовместим с CLS. 

Пространство имен:Microsoft.Isam.Esent.Interop
Сборки: Microsoft.Isam.Esent.Interop (в Microsoft.Isam.Esent.Interop.dll)

Синтаксис

'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
)

Параметры

  • numColumnids
    Тип: System.Int32

    Число JET_ENUMCOLUMNIDS.

  • columnids
    Тип: []

    Необязательный массив идентификаторов столбцов, каждый из которых содержит необязательный массив чисел itagSequence для перечисления.

  • numColumnValues
    Тип: System.Int32

    Возвращает количество полученных значений столбцов.

  • columnValues
    Тип: []

    Возвращает значения перечисленного столбца.

  • allocatorContext
    Тип: System.IntPtr

    Контекст для обратного вызова выделения.

  • maxDataSize
    Тип: System.Int32

    Устанавливает ограничение на объем данных, возвращаемых из длинного текста или длинного двоичного столбца. Этот параметр можно использовать для предотвращения перечисления очень большого значения столбца.

Возвращаемое значение

Тип: Microsoft.Isam.Esent.Interop.JET_wrn
Предупреждение или успешное выполнение.

См. также раздел

Ссылка

Класс API

Члены API

Пространство имен Microsoft.Isam.Esent.Interop