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)закрывает набор результатов, освобождает интерфейс в случае успеха.