Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

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

htRecordOrdinalNumber - Получение порядкового номера записи среди результатов

Назначение

Функция предназначена для получения порядкового (логического) номера записи среди записей результата. Запись задается физическим номером. Например, пусть в результате поиска найдены записи 3, 10, 25. Тогда запись 10 имеет 1 порядковый номер (отсчет от 0), а запись 25 - 2-й. Функция применима лишь для результатов поиска - записей. Функция обратна по отношению к операции htSeekResults, которая, фактически, определяет физический номер записи по ее логическому номеру.

Прототип:

long HTAPI htRecordOrdinalNumber(
  LPSAB		fpSrc,	/* Адрес исходного БДС */
  long		gNumber	/* Физический номер */
);

Параметры

fpSrc определяет адрес БДС, содержащего открытые результаты поиска
gNumber задает физический номер записи, порядковый номер которой следует найти

Результат

положительное число порядковый (логический) номер записи в результате поиска(отсчет от 0)
отрицательное число код ошибки

Пример 1.

Определить логический номер записи с физическим номером 1000.

int 	rc;
long 	num;
SAB 	sSet;
THANDLE hTable;
 . . .
htSearch( NULL, &sSet, hTable, 0, GREAT, "\0\0\0", NULL );
 . . .
if( (rc=htOpenResults( &sSet, ROPEN_READ, NULL, 0 )) < 0 )
	/* Обработка ошибок */
 . . .
if( (num=htRecordOrdinalNumber( &sSet, 1000L )) < 0L )
	 /* Обработка ошибок */
else /* Запись 1000 (num+1)-я в результате */
 . . .