Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

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

htNotResults - Отрицание результата

Назначение:

Функция выполняет операцию NOT (логическое отрицание) от результата поиска.

Возможно отрицание как записей, так и списков значений ключа. В первом случае в результате будет получен список всех записей, кроме отрицаемых. Во втором - список значений ключа, не попавших в исходный список.

Прототип:

 LPSAB HTAPI htNotResults(
	LPSAB fpDst, /* Блок для приема результата */
	LPSAB fpSrc 	 /* Блок с отрицаемым результатом */
 );

Параметры

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

Результат:

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

Пример 1.

Найти людей из всех отделов, кроме 10. (Можно сделать через поиск по условию NOT_EQUAL).

 typedef struct tagREC { /* Структура записи таблицы */
     char name[10];
     char sex;
     int depart;
 } REC;

 int depart = 10;
 SAB sNot10;
 SAB s10;
 THANDLE hTable;
 . . .
 /* Список людей из 10 отдела */
 if( !htSearch( NULL, &s10, hTable, 3, EQUAL, &depart, NULL ) )
 /* Обработка ошибок */
 . . .
 /* Список людей не из 10 отдела */
 if( !htNotResults( &sNot10, &s10 ) )
 /* Обработка ошибок */
 else
 /* В отделах кроме 10 sNot10.gFoundCnt сотрудников */

Пример 2.

Найти список моносексуальных фамилий (См.пример 2 от функции htAndResults).

 . . . /* Текст примера 2 функции htAndResults */
 {
 SAB sNot;

 /* Список моносексуальных фамилий */
 if( !htNotResults( &sNot, &sTmp ) )
	 /* Обработка ошибок */
 else
	 /* Найдено sNot.gFoundCnt моносексуальных фамилий */
 . . .
 }