|
|
|
Обновить датасет по получению Alert от СУБД
|
|||
|---|---|---|---|
|
#18+
В FireDAC есть на мой взгляд механизм по обновлению датасета при получении алерта от СУБД. Так, в проге на дельфи при добавление/модификацию/удаление записи вызываю Код: pascal 1. в модуле есть EventAlerter, который ловит 3 типа нотификаций - EVENTS_CHANGED, CLIENTS_CHANGED, EVITEMS_CHANGED Так вот - как правильно настроить FDQuery, чтоб при получении нотификации от СУБД автоматом обновлялся датасет? При этом я так понимаю основная фишка - это если датасет в режиме редактирования - он должен обновиться прозрачно, не меняя логики работы программы. Пока удалось обрабатывать нотификацию в обработчике EventAlerter Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. посылаю окнам соответствующее событие. Но ведь можно прописать в FDQuery нужный алертер, но почему-то оно не срабатывает. Мож у кого-то рабочий код есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2021, 23:15 |
|
||
|
Обновить датасет по получению Alert от СУБД
|
|||
|---|---|---|---|
|
#18+
муторное занятие если честно надо отслеживать все датасеты, при обновлениях надо смотреть если ли записи с id которые нужно обновлять, проверить а не будет ли рефреш нужного массива строк по времени дольше чем просто рефреш всего датасета, ну и так далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2021, 23:30 |
|
||
|
Обновить датасет по получению Alert от СУБД
|
|||
|---|---|---|---|
|
#18+
энди муторное занятие если честно надо отслеживать все датасеты, при обновлениях надо смотреть если ли записи с id которые нужно обновлять, проверить а не будет ли рефреш нужного массива строк по времени дольше чем просто рефреш всего датасета, ну и так далее. так я что кумекаю - механизм FireDAC ДОЛЖЕН это делать автоматически, прозрачно и без проблем основной логике программы (типа ошибок - датасет не в режиме вставки/редактирования или еще каких сюрпризов), иначе зачем эти возможности предусмотрены? Вручную я и сам могу все контролировать, просто подозреваю, что FIREDAC это умеен из коробки и красиво ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2021, 23:51 |
|
||
|
Обновить датасет по получению Alert от СУБД
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin, если "на той стороне" действительно СУБД, то "обновлять" FDQuery можно только одним способом - это его закрыть и открыть, т.е. выполнить запрос заново. Никакого "прозрачного" обновления тут не будет. Что, собственно, у вас и написано Код: pascal 1. 2. хотя этот код хреновый, лучше явно писать qCLs.Close; qCLs.Open; При этом отсылать событие форме - зачем? Непонятно. Если там ДБГрид - он сам обновится после переоткрытия запроса. А вот если датасет в режиме редактирования, то вы переоткрытием запроса режим редактирования поломаете. Старые данные пропали, новые появились, старую запись уже редактировать невозможно. И т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2021, 00:22 |
|
||
|
Обновить датасет по получению Alert от СУБД
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin> я что кумекаю - механизм FireDAC ДОЛЖЕН это делать автоматически, прозрачно и без проблем основной логике программы Бедный Арефьев... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2021, 00:33 |
|
||
|
Обновить датасет по получению Alert от СУБД
|
|||
|---|---|---|---|
|
#18+
GrigoriyFominя что кумекаю - механизм FireDAC ДОЛЖЕН это делать автоматически, прозрачно и без проблем основной логике программы Делать автоматически то, за что живому программисту оторвали бы руки, реально плохая идея. Этот механизм существует исключительно чтобы информировать этого живого программиста о событии. И всё. А дальше тот уже действует на собственный страх и риск. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2021, 01:11 |
|
||
|
Обновить датасет по получению Alert от СУБД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Серьёзно? А вот это свойство тогда зачем? Правда с FireBird мне его заставить работать так и не удалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2021, 01:27 |
|
||
|
Обновить датасет по получению Alert от СУБД
|
|||
|---|---|---|---|
|
#18+
alekcvpА вот это свойство тогда зачем? Видимо, чтобы укрепить широко распространённое мнение, что на Дельфи невозможно писать вменяемо работающие приложения. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2021, 01:49 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=24&tid=2037521]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 405ms |

| 0 / 0 |
