IResultSet
Интерфейс IResultSet
— заменяет (с расширенной функциональностью)некоторые функции isc_stmt_handle
. Этот интерфейс возвращается вызовомopenCursor()
из IAttachment
илиIStatement
. Все вызовы fetch…
,кроме fetchNext()
, работают только для двунаправленного (открытого сфлагом CURSOR_TYPE_SCROLLABLE
) курсора.
-
fetchNext
int fetchNext(StatusType* status, void* message)
выбирает следующую запись, заменяет
isc_dsql_fetch()
. Этот метод (идругие методы выборки) возвращает код завершенияStatus::RESULT_NO_DATA
при достижении EOF, и статусStatus::RESULT_OK
при успешном завершении. -
fetchPrior
int fetchPrior(StatusType* status, void* message)
выбирает предыдущую запись.
-
fetchFirst
int fetchFirst(StatusType* status, void* message)
выбирает первую запись.
-
fetchLast
int fetchLast(StatusType* status, void* message)
выбирает последнюю запись.
-
fetchAbsolute
int fetchAbsolute(StatusType* status, int position, void* message)
получает запись по абсолютной позиции в наборе результатов.
-
fetchRelative
int fetchRelative(StatusType* status, int offset, void* message)
извлекает запись по положению относительно текущей.
-
isEof
FB_BOOLEAN isEof(StatusType* status)
проверка EOF.
-
isBof
FB_BOOLEAN isBof(StatusType* status)
проверка BOF.
-
getMetadata
IMessageMetadata* getMetadata(StatusType* status)
возвращает метаданные для сообщений в наборе результатов, особеннополезно, когда набор результатов открывается вызовом
IAttachment::openCursor()
с параметром формата вывода метаданныхравнымNULL
(это единственный способ получить формат сообщения в данномслучае). -
close
void close(IStatus* status)
закрывает набор результатов, освобождает интерфейс в случае успеха.