ВУЗ:
Составители:
Рубрика:
31
// Проверяем: результат - вариантный массив?
if VarIsArray(LookupResults) then
begin
Label1.Caption := LookupResults[0];
if LookupResults[1] <> Null then
Label2.Caption := LookupResults[1];
if LookupResults[2] <> Null then
Label3.Caption := LookupResults[2];
end
else
// результат - не вариантный массив, а единичное значение
case VarType(LookupResults) of
varEmpty: Label1.Caption := 'Пустой результат';
varNull : Label1.Caption := 'Запись не найдена';
end; //case
end;
Если запись не найдена, VarType(LookupResults) возвращает значение varNull. Если
поиск по какой-либо причине не был произведен, VarType (LookupResults) возвращает
значение varEmpty. Если какое-либо из полей, чьи значения возвращаются в результате
поиска в вариантном массиве, содержит пустое значение, соответствующий элемент
вариантного массива также будет содержать пустое значение (Null). В этом случае
обращение к нему возбудит исключительную ситуацию, поэтому нужна предварительная
проверка.
5. . Используя таблицы из базы данных DBDEMOS создать приложение, в котором
организовать поиск записей в наборе данных с использованием метода Lookup.
Лабораторная работа № 5
Фильтрация записей в наборах данных по индексированным полям
Для фильтрации записей компонент TTable имеет следующие методы:
SetRangeStart - устанавливает нижнюю границу фильтра;
EditRangeEnd - устанавливает верхнюю границу фильтра;
ApplyRange - осуществляет фильтрацию записей в TTable;
SetRange - имеет тот же эффект, что и последовательное выполнение методов SetRangeStart,
SetRangeEnd и ApplyRange. В качестве параметра используются массивы констант, каждый
из которых содержит значения ключевых полей.
Заметим, что фильтрация методами ApplyRange/SetRange должна проводиться по ключевым
полям. По умолчанию берется текущий индекс, определяемый свойством IndexName или
свойством IndexFieldNames компонента TTable. Если значения этих свойств не установлены,
по умолчанию используется главный индекс таблицы базы данных. Поэтому, если нужно
использовать индекс, отличный от главного, необходимо явно переустановить значение
свойства IndexName (имя текущего индекса) или IndexFieldNames (список полей текущего
индекса).
Метод SetRange
procedure SetRange(const StartValues, EndValues: array of const);
показывает в наборе данных только те записи, индексные поля которых лежат в
диапазоне [StartValues..EndValues].
// Проверяем: результат - вариантный массив? if VarIsArray(LookupResults) then begin Label1.Caption := LookupResults[0]; if LookupResults[1] <> Null then Label2.Caption := LookupResults[1]; if LookupResults[2] <> Null then Label3.Caption := LookupResults[2]; end else // результат - не вариантный массив, а единичное значение case VarType(LookupResults) of varEmpty: Label1.Caption := 'Пустой результат'; varNull : Label1.Caption := 'Запись не найдена'; end; //case end; Если запись не найдена, VarType(LookupResults) возвращает значение varNull. Если поиск по какой-либо причине не был произведен, VarType (LookupResults) возвращает значение varEmpty. Если какое-либо из полей, чьи значения возвращаются в результате поиска в вариантном массиве, содержит пустое значение, соответствующий элемент вариантного массива также будет содержать пустое значение (Null). В этом случае обращение к нему возбудит исключительную ситуацию, поэтому нужна предварительная проверка. 5. . Используя таблицы из базы данных DBDEMOS создать приложение, в котором организовать поиск записей в наборе данных с использованием метода Lookup. Лабораторная работа № 5 Фильтрация записей в наборах данных по индексированным полям Для фильтрации записей компонент TTable имеет следующие методы: SetRangeStart - устанавливает нижнюю границу фильтра; EditRangeEnd - устанавливает верхнюю границу фильтра; ApplyRange - осуществляет фильтрацию записей в TTable; SetRange - имеет тот же эффект, что и последовательное выполнение методов SetRangeStart, SetRangeEnd и ApplyRange. В качестве параметра используются массивы констант, каждый из которых содержит значения ключевых полей. Заметим, что фильтрация методами ApplyRange/SetRange должна проводиться по ключевым полям. По умолчанию берется текущий индекс, определяемый свойством IndexName или свойством IndexFieldNames компонента TTable. Если значения этих свойств не установлены, по умолчанию используется главный индекс таблицы базы данных. Поэтому, если нужно использовать индекс, отличный от главного, необходимо явно переустановить значение свойства IndexName (имя текущего индекса) или IndexFieldNames (список полей текущего индекса). Метод SetRange procedure SetRange(const StartValues, EndValues: array of const); показывает в наборе данных только те записи, индексные поля которых лежат в диапазоне [StartValues..EndValues]. 31
Страницы
- « первая
- ‹ предыдущая
- …
- 29
- 30
- 31
- 32
- 33
- …
- следующая ›
- последняя »