Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Findfirst() в Делфи10 [MSSQL]


Levan ©   (2010-09-28 22:25:00) 

Привет мастерам
Перевожу некоторие разработки из делфи7 в делфи10
Почему-то не работает
adoquery.filtered:=false;
adoquery.filter:='Name='+''''+'лев*'+''''
adoquery.findfirst();
ne rabotaet asterisk *
(не находит записы, которые начинаются на 'лев')
что не так в делфи10 ?


Виталий Панасенко   (2010-09-29 16:24:00) [1]

но прогнал, согласен.. тут базар о фильтрАх


Виталий Панасенко   (2010-09-29 16:23:00) [2]

да я не о фильтрАх.. а о сиквеле


Anatoly Podgoretsky   (2010-09-29 16:06:00) [3]

> Виталий Панасенко  (29.09.2010 15:57:08)  [8]

Для фильтров наоборот, % от лукавого, в последнее время.


Виталий Панасенко   (2010-09-29 15:57:00) [4]

вообще-то стандарт надо читать.. * - это от лукавого.. а вот % - это СТАНДАРТ! и Д тут не при чем!


DiamondShark   (2010-09-29 13:39:00) [5]


> во всяком случае, так было в делфи7а в делфи 10 это не работает

В делфи7 был баг. Потом его исправили.


Anatoly Podgoretsky   (2010-09-29 11:38:00) [6]

> Levan  (29.09.2010 09:15:05)  [5]

Тогда попробуй установить Filtered := True;


Levan   (2010-09-29 09:15:00) [7]

>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 )
всем Спасибо


Медвежонок Пятачок   (2010-09-29 09:07:00) [8]

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


Palladin   (2010-09-29 07:48:00) [9]


> Медвежонок Пятачок ©   (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.


Медвежонок Пятачок   (2010-09-28 23:19:00) [10]

а какая связь между файндфёрст и свойством филтер?
к тому же тогда когда филтеред стоит в фалсе?


Anatoly Podgoretsky   (2010-09-28 23:07:00) [11]

> Levan  (28.09.2010 22:25:00)  [0]

А процент?


Наверх

Титульная страница Поиск, карта сайта Написать письмо