-
Привет мастерам
Перевожу некоторие разработки из делфи7 в делфи10
Почему-то не работает
adoquery.filtered:=false;
adoquery.filter:='Name='+''''+'лев*'+''''
adoquery.findfirst();
ne rabotaet asterisk *
(не находит записы, которые начинаются на 'лев')
что не так в делфи10 ?
-
> Levan (28.09.2010 22:25:00) [0]
А процент?
-
а какая связь между файндфёрст и свойством филтер?
к тому же тогда когда филтеред стоит в фалсе?
-
> Медвежонок Пятачок © (28.09.10 23:19) [2]
function FindFirst: Boolean;
Description
This function returns False, indicating that the active record was not successfully changed. Descendant classes override FindFirst to make the first record active, honoring any filters that are in effect. In descendant classes, FindFirst returns True if the active record is successfully changed.
-
так филтеред-то все равно в фалсе.
я понимаю, если бы в отфильтрованном не искало.
но оно же не ищет во всем датасете.
отсюда и вопрос какая связь между каким-то выражением фильтра и файндферстом
-
>Anatoly Podgoretsky © (28.09.10 23:07) [1]
>> Levan (28.09.2010 22:25:00) [0]
>А процент
Процент тоже не работает
>Медвежонок Пятачок © (28.09.10 23:19) [2]
>а какая связь между файндфёрст и свойством филтер?
>к тому же тогда когда филтеред стоит в фалсе?
Когда установлено свойство филтр и филтеред=труе, в гриде остаются толко удовлетворяющие условию фильтрации записи
Когда установлено свойство филтр и филтеред=фалсе, в гриде выдни все записи и финдфирст,финднехт и т.п. исползуются для перемещения по записям, удовлетворяющим условию фильтрации записи
во всяком случае, так было в делфи7
а в делфи 10 это не работает
в этом и суть моего вопроса
вообще-то проблема решена (Сегодня утром подсказали колеги по работе):
вместо
adoquery.filter:='Name='+''''+'лев*'+'''' (синтаксис делфи в делфи7)
надо писать
adoquery.filter:='Name like ='+''''+'лев%'+'''' (синтаксис SQL server в Делфи10)
(как подсказал Anatoly Podgoretsky )
всем Спасибо
-
> Levan (29.09.2010 09:15:05) [5]
Тогда попробуй установить Filtered := True;
-
> во всяком случае, так было в делфи7а в делфи 10 это не работает
В делфи7 был баг. Потом его исправили.
-
вообще-то стандарт надо читать.. * - это от лукавого.. а вот % - это СТАНДАРТ! и Д тут не при чем!
-
> Виталий Панасенко (29.09.2010 15:57:08) [8]
Для фильтров наоборот, % от лукавого, в последнее время.
-
да я не о фильтрАх.. а о сиквеле
-
но прогнал, согласен.. тут базар о фильтрАх