![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 24.03.2009
Сообщений: 375
|
![]()
Добрый день!
Подскажите пожалуйста, как прописать фильтрацию, чтобы выводились записи по одному полю в значениях которых последний символ равен нулю? одно поле должно быть пустым: При активации формы пишу: Table.Filter := '[xxx] = '''''; другое поле должно заканчиваться на ноль procedure TableFilterRecord(DataSet: TDataSet; var Accept: Boolean); begin Accept := Table.FieldByName('zzz').AsString = '%0'; end; программа зацикливается, что не правильно? Последний раз редактировалось VadEr; 09.10.2009 в 16:57. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 29.09.2009
Сообщений: 32
|
![]()
Тут я тебе посоветую проверять в цикле каждую запись на 0, если равна то выводить.
Другого варианта не вижу пока. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 228
|
![]()
если есть возможность использовать Query то там это реализуется проще, методом like ('%0')
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
И программа не "зацикливается" - а просто ни одной записи, в которой написано %0 (именно в поле два символа первый символ - знак процента, второй символ - ноль) - НЕТ! поэтому и выдавать нечего. я бы Вам рекомендовал прислушаться к совету Usov и в запросе отбирать нужные записи, это будет проще, нагляднее и намного эффективнее! но, если же хочется это сделать через фильтрацию,то попробуй примерно такой код: Код:
|
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 24.03.2009
Сообщений: 375
|
![]()
Спасибо помогло. Но возник вопрос по эффективности: где скорость работы будет выше - в sql или table? таблица содержит не одну тысячу записей
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Это зависит от разных условий...
Но, в подавляющем большинстве случаев - быстрее будет использовать запрос, т.к. запрос, конечно, будет выполнятся чуть дольше ( чем без условия LIKE ), но потом работа с полученным набором данных будет намного быстрее, чем с использованием функции TableFilterRecord... |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi\MySql\Фильтрация. | MaGWaY_minsk | Помощь студентам | 2 | 17.06.2009 11:01 |
Фильтрация в Delphi с помощью Combobox | Веснушка_ната | Помощь студентам | 4 | 07.04.2009 02:36 |
Фильтрация | Felonalex | БД в Delphi | 4 | 24.10.2008 20:09 |
Фильтрация в Delphi | Лукманов Александр | БД в Delphi | 4 | 16.06.2008 15:30 |
Фильтрация | Gorychev | БД в Delphi | 20 | 10.06.2008 23:30 |