Презентация, доклад по программированию баз данных в среде Delphi на тему: Фильтрация записей

Содержание

ФИЛЬТРАЦИЯ – ЭТО ЗАДАНИЕ ОГРАНИЧЕНИЙ ДЛЯ ЗАПИСЕЙ, ОТБИРАЕМЫХ В НАБОР ДАННЫХ.Состав записей в НД в данный момент зависит от установленных ограничений, в том числе и от фильтров.Система Delphi дает возможность осуществлять фильтрации записей:по выражению;по диапазону.По умолчанию

Слайд 1ФИЛЬТРАЦИЯ ЗАПИСЕЙ

Программирование баз данных

ФИЛЬТРАЦИЯ ЗАПИСЕЙ Программирование баз данных

Слайд 2ФИЛЬТРАЦИЯ – ЭТО ЗАДАНИЕ ОГРАНИЧЕНИЙ ДЛЯ ЗАПИСЕЙ, ОТБИРАЕМЫХ В НАБОР ДАННЫХ.
Состав

записей в НД в данный момент зависит от установленных ограничений, в том числе и от фильтров.
Система Delphi дает возможность осуществлять фильтрации записей:
по выражению;
по диапазону.
По умолчанию фильтрация записей не ведется, и НД Table содержит все записи связанной с ним таблицы БД.

ФИЛЬТРАЦИЯ – ЭТО ЗАДАНИЕ ОГРАНИЧЕНИЙ ДЛЯ ЗАПИСЕЙ, ОТБИРАЕМЫХ В НАБОР ДАННЫХ.Состав записей в НД в данный момент

Слайд 3ФИЛЬТРАЦИЯ ПО ВЫРАЖЕНИЮ
При использовании фильтрации по выражению набор данных ограничивается записями,

удовлетворяющими выражению фильтра, задающему условия отбора записей.
Достоинством фильтрации по выражению состоит в том, что она применима к любым полям, в том числе к неиндексированным.

ФИЛЬТРАЦИЯ ПО ВЫРАЖЕНИЮ При использовании фильтрации по выражению набор данных ограничивается записями, удовлетворяющими выражению фильтра, задающему условия

Слайд 4
Свойство Filter типа Srting компонента Table – задает выражение фильтра. В

его состав могут входить элементы:
имена полей таблиц;
литералы – значение, заданное явно (число, строка или символ). В выражение фильтра включаются только выражения строкового типа.
операции сравнения (<, >, =, >=, <=, <>);
арифметические операции (+, -, *, /);
логические операции (and (логическое умножение), or (логическое сложение), not (логическое отрицание));
( ) и [ ] скобки.
Свойство Filter типа Srting компонента Table – задает выражение фильтра. В его состав могут входить элементы:имена полей

Слайд 5
Пример:
Tovar = 'Макароны'
Cena >=150 or Cena

используется для активизации и деактивизации фильтра.
Если Filtered=True, то фильтрация включается, и НД отбираются записи, которые удовлетворяют фильтру, записанному в свойстве Filter.
Если Filtered=False (по умолчанию), то фильтрация выключена.

Пример:Tovar = 'Макароны'Cena >=150 or Cena

Слайд 6
Свойство FilterOptions типа TFilterOptions задает параметры фильтрации. Может принимать комбинации двух

значений:
foCaseInsensitive – регистр букв не учитывается, т. е. при задании фильтра Tovar='Хлеб' слова "Хлеб", "хЛеБ", "ХЛЕБ" или "хлеб" будут восприняты как одинаковые;
foNoPartialCompare – выполняется проверка на полное соответствие содержимого поля и значения, заданного для поиска. Обычно применяется для строк. Если известны только первые символы строки, то нужно указать их в выражении фильтра, заменив остальные символом «*» и выключив значение foNoPartialCompare. Например, при выключенном значении foNoPartialCompare для фильтра Tovar = 'C*' будут отобраны записи, у которых в поле Tovar содержатся значения "Сметана", "Сыр", "Сахар" или "Сельдь с/м".
Свойство FilterOptions типа TFilterOptions задает параметры фильтрации. Может принимать комбинации двух значений:foCaseInsensitive – регистр букв не учитывается,

Слайд 7
Для кнопки Включить фильтр:
procedure TForm1.Button1Click(Sender: TObject);
begin
table1.Filtered:=true;
table1.Filter:=edit1.Text;
end;
Для кнопки «Отменить фильтрацию»:
procedure

TForm1.Button2Click(Sender: TObject);
begin
table1.Filtered:=false;
end;
Для кнопки Включить фильтр: procedure TForm1.Button1Click(Sender: TObject);begintable1.Filtered:=true;table1.Filter:=edit1.Text;end;Для кнопки «Отменить фильтрацию»: procedure TForm1.Button2Click(Sender: TObject);begintable1.Filtered:=false;end;

Слайд 8ФИЛЬТРАЦИЯ ПО ДИАПАЗОНУ
При фильтрации по диапазону в НД включаются записи, значения

полей которых попадают в заданный диапазон.
Таким образом, условием фильтрации является выражение вида "значение > нижней границы AND значение < верхней границы" (вместо операций сравнения < > могут указываться и операции <= >=).
Этот способ фильтрации применим только для индексированных полей.

Слайд 9ИНДЕКС ПОЛЯ, ДИАПАЗОН КОТОРОГО ЗАДАН В КАЧЕСТВЕ КРИТЕРИЯ ДЛЯ ОТБОРА ЗАПИСЕЙ,

ДОЛЖЕН БЫТЬ УСТАНОВЛЕН КАК ТЕКУЩИЙ.

Для фильтрации записей по диапазону компонент Table имеет следующие методы:
SetRangeStart – устанавливает нижнюю границу диапазона;
SetRangeEnd – устанавливает верхнюю границу диапазона;
ApplyRange – активизирует фильтр (включение фильтра);
CancelRange – деактивизирует фильтр (выключение фильтра);

ИНДЕКС ПОЛЯ, ДИАПАЗОН КОТОРОГО ЗАДАН В КАЧЕСТВЕ КРИТЕРИЯ ДЛЯ ОТБОРА ЗАПИСЕЙ, ДОЛЖЕН БЫТЬ УСТАНОВЛЕН КАК ТЕКУЩИЙ. Для

Слайд 10
SetRange – имеет тот же эффект, что и последовательное выполнение методов

SetRangeStart, SetRangeEnd и ApplyRange. Процедура позволяет одновременно задать границы диапазона и выполнить фильтрацию.
EditRangeStart – изменяет предварительно заданную нижнюю границу диапазона;
EditRangeEnd – изменяет предварительно заданную верхнюю границу диапазона;

SetRange – имеет тот же эффект, что и последовательное выполнение методов SetRangeStart, SetRangeEnd и ApplyRange. Процедура позволяет

Слайд 11
procedure TForm1.ApplyRangeBtnClick (Sender: TObject);
begin
Table1.SetRangeStart;
if RangeStart.Text '' then
Table1. Fields[0].AsString := RangeStart.Text;
Table1.SetRangeEnd;
if

RangeEnd.Text <> '' then
Table1.Fields[0].AsString := RangeEnd.Text;
Table1.ApplyRange;
end;

procedure TForm1.ApplyRangeBtnClick (Sender: TObject);beginTable1.SetRangeStart;if RangeStart.Text '' thenTable1. Fields[0].AsString := RangeStart.Text;Table1.SetRangeEnd;if RangeEnd.Text '' thenTable1.Fields[0].AsString := RangeEnd.Text;Table1.ApplyRange;end;

Слайд 12
Свойство KeyExclusive типа Boolean определяет, как учитывается заданное граничное значение при

анализе записей. Если KeyExclusive = False (по умолчанию), то записи, у которых значения полей фильтрации совпадают с границами диапазона, включаются в состав НД, а если KeyExclusive = True, то такие записи в НД не попадают. Свойство KeyExclusive действует отдельно для нижней и верхней границы.
Свойство KeyExclusive типа Boolean определяет, как учитывается заданное граничное значение при анализе записей. Если KeyExclusive = False

Слайд 13
Пример:
Table1.IndexName: ='indCena'; //установка текущего индекса indCena (создан по полю Cena таблицы

Tovar.db)
Table1. SetRangeStart;
Table1. KeyExclusive: = True;
Table1.FieldByName('Cena').AsFloat: =100.5;
Записи, содержащие в поле Cena значение 100,5, не входят в отфильтрованный НД (т. к. KeyExclusive = True). Фильтрация по диапазону подчиняется условию Cena >100,5. Если бы KeyExclusive = False, то условие фильтрации выглядело бы по-другому (Cena >=100,5).
Когда одна из границ диапазона не задана, то диапазон открыт, то есть нижняя граница становится равной минимально возможному, а верхняя граница – максимально возможному значению этого поля.

Пример:Table1.IndexName: ='indCena'; //установка текущего индекса indCena (создан по полю Cena таблицы Tovar.db)Table1. SetRangeStart;Table1. KeyExclusive: = True;Table1.FieldByName('Cena').AsFloat: =100.5;Записи,

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть