Как правильно в стандартный Browse отфильтровать (отобрать) записи на удаленном сервере (Mysql), чтобы Browse получал уже отобранные записи с сервера.
Условие фильтра не постоянны.
Если раньше обсуждалось, киньте ссылку пожалуйста.
Спасибо за внимание и помощь.
С10 ABC
Browse отобрать записи (Mysql)
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 1704
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Browse отобрать записи (Mysql)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 5006
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Browse отобрать записи (Mysql)
В методе ApplyFilter после Parent Call я пишу:
Если в Actions уже есть условия фильтрации, то:
Код: Выделить всё
BRW1::View:Browse{prop:SQLFilter} = 'a.dat_uv is not null'
Код: Выделить всё
BRW1::View:Browse{prop:SQLFilter} = '+a.dat_uv is not null'
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 1704
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Browse отобрать записи (Mysql)
Спасибо kreatorkreator писал(а): ↑18 Ноябрь 2018, 15:23 В методе ApplyFilter после Parent Call я пишу:Если в Actions уже есть условия фильтрации, то:Код: Выделить всё
BRW1::View:Browse{prop:SQLFilter} = 'a.dat_uv is not null'
У меня в Action пусто, если нет в Action Filter или Range Limit Field значений, вообще не фильтрует, загружает все имеющиеся записи.
Достаточно добавить значение для фильтрации в Action Filter или Range Limit Field все работает, но очень медленно, на 30 записей 3-5 сек, без фильтра меньше 1 сек на все записи. Всего 40 записей в базе.kreator писал(а): ↑18 Ноябрь 2018, 15:23Код: Выделить всё
BRW1::View:Browse{prop:SQLFilter} = '+a.dat_uv is not null'
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 5006
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Browse отобрать записи (Mysql)
Это не понятно. Кларион сам формирует запрос, если что-то написано в Action Filter или Range Limit Field. Результат (какой запрос посылается серверу) можно по-простому посмотреть в методе ResetQueue после Parent Call, набрав:gopstop2007 писал(а): ↑19 Ноябрь 2018, 11:22 Достаточно добавить значение для фильтрации в Action Filter или Range Limit Field все работает, но очень медленно, на 30 записей 3-5 сек, без фильтра меньше 1 сек на все записи. Всего 40 записей в базе.
Код: Выделить всё
stop(MyTable{prop:SQL})
We are hard at work… for you.
Browse отобрать записи (Mysql)
Надо посмотреть трассировку, что там реально происходит. Возможно, в embed есть ещё какие-то необдуманные вставки или на сервере возникает ошибка...