Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

Документация
Функция htSeekMarkedRecord

htSeekMarkedRecord - Позиционировать результат на помеченную запись

Назначение

Функция используется для позиционирования результатов поиска (записей) на сохраненную ранее запись. Функция применима только для результатов поиска, являющимися записями или сортированными записями. В случае нормального завершения функция позиционирует результаты поиска на описанную в маркере запись. В случае ошибки позиция не меняется

Прототип:

int HTAPI htSeekMarkedRecord(
  LPSAB		fpSrc,		/* Адрес позиционируемого БДС */
  LPMARKER	fpMark		/* Маркер записи */
);

Параметры

fpSrc определяет адрес БДС, содержащего открытые результаты поиска. Этот БДС может отличаться от того, для которого был получен маркер. Ответственность за последствия ложится на пользователя
fpMark задает адрес структуры, содержащей заполненный ранее описатель записи (см.функцию htMarkRecord).

Результат

0 успех
отрицательное число код ошибки

Пример.

Запомнить текущую запись результата и вернуться на нее после сортировки по первому полю.

int 	rc;
MARKER 	sMark;
SAB 	sSet, sSort;
THANDLE hTable;
 . . .
htSearch( NULL, &sSet, hTable, 0, GREAT, "\0\0\0", NULL );
 . . .
if( (rc=htOpenResults( &sSet, ROPEN_READ, NULL, 0 )) < 0 )
	/* Обработка ошибок */
 . . .
if( (rc = htMarkRecord( &sSet, &sMark )) < 0 )
	/* Обработка ошибок */
 . . .
rc = 1;
htSortResults( &sSort, &sSet, &rc, 1 );
 . . .
if( (rc=htOpenResults( &sSort, ROPEN_READ, NULL, 0 )) < 0 )
	/* Обработка ошибок */
if( (rc = htSeekMarkedRecord( &sSort, &sMark )) < 0 )
	/* Обработка ошибок */
 . . .