Разработка приложений баз данных в Delphi. Шейкер Т.Д. - 42 стр.

UptoLike

Составители: 

42
При организации фильтрации по строковым полям можно использовать
маску. Условие
Category=’C*в качестве результата выдаст все записи, у ко-
торых значение поля
Category начинается с символа C(рис. 14). При ис-
пользовании маски свойство
foNoPartialCompare должно быть false.
Рис. 14. Результаты фильтрации
Программное задание свойства Filter обладает существенно большими
возможностями, так как позволяет в условии использовать значения, вводимые
пользователем во время работы приложения. Так как
Filterэто свойство
строкового типа, то надо сформировать строковую константу, задающую усло-
вие фильтрации. В этом случае все проблемы связаны с корректностью записи
строкового выражения. Возможны два варианта:
’ ’простое строковое выражение, записанное в апострофах;
’ ’+ + . . . – сцепление нескольких строковых констант.
Примеры записи фильтра для числового поля вещественного типа:
Table1.Filter:='Length_In >60';
Table1.Filter:='Length_In >'+Edit4.Text;
Table1.Filter:='Length_In >23,625';
Table1.Filter:='Length_In >'+FloatToStr(23.625);
Table1.Filter:=
'Length_In >'+Edit4.Text+'and Length_In<'+ Edit5.Text;
Table1.Filter:=
'(Length_In>'+Edit4.Text+')and(Length_In<'+Edit5.Text+')';
     При организации фильтрации по строковым полям можно использовать
маску. Условие Category=’C*’ в качестве результата выдаст все записи, у ко-
торых значение поля Category начинается с символа ’C’(рис. 14). При ис-
пользовании маски свойство foNoPartialCompare должно быть false.




                        Рис. 14. Результаты фильтрации


     Программное задание свойства Filter обладает существенно большими
возможностями, так как позволяет в условии использовать значения, вводимые
пользователем во время работы приложения. Так как Filter – это свойство
строкового типа, то надо сформировать строковую константу, задающую усло-
вие фильтрации. В этом случае все проблемы связаны с корректностью записи
строкового выражения. Возможны два варианта:
     ’   ’   – простое строковое выражение, записанное в апострофах;
     ’   ’+’ ’+’ ’.    . . – сцепление нескольких строковых констант.
     Примеры записи фильтра для числового поля вещественного типа:
Table1.Filter:='Length_In >60';
Table1.Filter:='Length_In >'+Edit4.Text;
Table1.Filter:='Length_In >23,625';
Table1.Filter:='Length_In >'+FloatToStr(23.625);
Table1.Filter:=
     'Length_In >'+Edit4.Text+'and Length_In<'+ Edit5.Text;
Table1.Filter:=
'(Length_In>'+Edit4.Text+')and(Length_In<'+Edit5.Text+')';

                                      42