Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

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

htRecordsForTwoKeys - Получить записи для заданного соотношения значений двух элементов

Назначение:

Функция предназначена для получения подмножества записей, для которых значения двух элементов (полей, групп или подстрок) связаны заданным определенным соотношением.

В результате выполнения операции будут отобраны записи, в которых значения первого элемента равны значению второго элемента.

Прототип:

 LPSAB HTAPI htRecordsForTwoKeys(
	LPSAB     	fpDst,    	/* Для приема результата */
	LPSAB     	fpSrc,    	/* Адрес БДС, содержащего список записей таблицы */
	int       	nElemNo1, 	/* Номер первого элемента записи */
	CONDITION 	nCond,    	/* Условие сравнения (пока только EQUAL) */
	int       	nElemNo2  	/* Номер второго элемента записи */
 );

Параметры

fpDst
определяет адрес БДС, предназначенного для хранения множества записей, найденный в результате поиска
fpSrc
должен адресовать БДС, содержащий некоторое множество записей, для которого будет выполняться операция
nElemNo1
задает номер первого интересующего Вас элемента записи
nCond
задает отношение двух элементов. В данной версии СУБД это только "РАВНО
nElemNo2
задает номер второго интересующего Вас элемента записи

Результат:

адрес БДС, заданного в качестве первого параметра при успешном завершении
NULL код ошибки в поле fpDst->nRetCode

Пример.

Найти сотрудников, у которых расходы равны доходам.

typedef struct tagREC { /* Структура записи таблицы */
	char name[10];
	char sex;
	unsigned credit;
	unsigned debt;
 } REC;
 long gZero = 0L;
 SAB sAll;
 SAB sNeed;
 THANDLE hTable;
 . . .
 /* Список всех людей на данный момент */
 if( !htSearch( NULL, &sAll, hTable, 0, GREAT, &gZero, NULL ) )
	/* Обработка ошибок */
 . . .
 if( !htRecordsForTwoKeys( &sNeed, &sAll, 3, EQUAL, 4 ) )
	/* Обработка ошибок */