Перемещение по выборке – LINTER_Fetch
Прототип функции
L_LONG LINTER_Fetch( L_WORD CursorID, /* идентификатор курсора */ L_SWORD Direction, /* направление перемещения */ L_LONG Position, /* номер строки в выборке */ L_LONG RowCounter, /* число требуемых ответов */ L_LONG *RowAnswer, /* число полученных ответов */ void *AsyncFunc, /* функция обработки ответа */ void *UserArg); /* пользовательский аргумент */
Входные параметры
Параметр | Описание | |
---|---|---|
CursorID
| Идентификатор курсора | |
Direction
| Направление перемещения | |
Position
| Номер строки | |
RowCounter
| Требуемое количество строк в выборке (неположительный RowCounter преобразуется к 1) | |
AsyncFunc
| Адрес функции обработки ответа | |
UserArg
| Аргумент пользователя |
Выходные параметры
Параметр | Описание | |
---|---|---|
RowAnswer
| Реальное количество строк, занесенных в буфер ответа |
Описание
Помещает в буфер ответа указанное количество записей ответа, начиная с той, которая определена направлением Direction
(для направлений toAbsNumber
и toRelNumber
учитывается еще и номер Position
).
Примечание
Текущей становится строка, находящаяся в буфере последней.
Направления, возможные для описываемой функции, приведены в таблице 3.
Таблица 3. Идентификаторы направлений для LINTER_Fetch
Обозначение | Направление | Номер текущей строки |
---|---|---|
toNext
| На следующую запись |
CurrNumber+RowAnswer
|
toPrevious
| На предыдущую запись |
CurrNumber-1+RowAnswer-1
|
toFirst
| На первую запись |
RowAnswer
|
toLast
| На последнюю запись |
LastNumber
|
toAbsNumber
| На запись с указанным абсолютным номером в ответе (по абсолютному номеру) |
Position+RowAnswer-1
|
toRelNumber
| На запись с указанным номером относительно текущей записи (по относительному номеру) |
CurrNumber+Position+RowAnswer-1
|
toFromEnd
| С конца |
LastNumber
|
Пример
long lError short nCursID; ... if (lError =LINTER_Fetch(nCursID, toNext, 0, 20, NULL, NULL, NULL)) processing_error(lError, 0, nCursID, 0, "LINTER_Fetch");