|
|
|
Обновление IBDataSet в разнесенных по ПК клиентам
|
|||
|---|---|---|---|
|
#18+
Доброе время суток, Все наверное знают, что для обновления данных в IBDataSet нужно просто его переоткрыть, т.е. сделать "Close" и "Open" 1. Но если приложение/клиент, раскидать по двум машинам. Dataset1 (первая машина) редактирует запись - одно поле (при помощи DBNavigator). В событии DataSetAfterPost, стоит IBTransaction.CommitRetaining. После этого запись в самой БД обновяется. Dataset2 (вторая машина) уже открыт и в событии "BeforeRefresh" делаю Close, и Open , т.е. Код: pascal 1. 2. 3. 4. 5. То такой способ (моя служебная запись) обновления, уже не работает, без переконнекта IBDataBase Что я забыл? 2. Delphi10.2, передача запроса, в стринговую переменную ARequire, в дебаге вижу (в конце строки) DelphiВыделить код 1 "'*select * from CONTRACT where ARCHIVE = 1*'#**$**D#$A" - и эта хрень передается в DataSet. Спасибо за ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 00:39 |
|
||
|
Обновление IBDataSet в разнесенных по ПК клиентам
|
|||
|---|---|---|---|
|
#18+
Sergey-2008Все наверное знают, что для обновления данных в IBDataSet нужно просто его переоткрыть, т.е. сделать "Close" и "Open"Хрень. Для обновления Refresh предназначен. Sergey-2008В событии DataSetAfterPost, стоит IBTransaction.CommitRetaining.Проще застрелиться, чем потом заставить работать эту систему. Sergey-2008Что я забыл?Почитать (где угодно) про виды, уровни изоляции транзакций. После этого - то же самое, но касательно конкретно Interbase/Firebird и IBX, коль он выбран для работы с этой СУБД. А так же о методах работы с ними (транзакциями). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 02:24 |
|
||
|
Обновление IBDataSet в разнесенных по ПК клиентам
|
|||
|---|---|---|---|
|
#18+
Sergey-2008, пока глубоко не вляпался, переходи на FIB+. Их можно скачать здесь: https://github.com/madorin/fibplus Почитать (см. ссылки): 21328186 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 03:08 |
|
||
|
Обновление IBDataSet в разнесенных по ПК клиентам
|
|||
|---|---|---|---|
|
#18+
YuRockДля обновления Refresh предназначен. Который обновляет текущую запись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 08:54 |
|
||
|
Обновление IBDataSet в разнесенных по ПК клиентам
|
|||
|---|---|---|---|
|
#18+
wadmanYuRockДля обновления Refresh предназначен. Который обновляет текущую запись?А, да :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 11:11 |
|
||
|
Обновление IBDataSet в разнесенных по ПК клиентам
|
|||
|---|---|---|---|
|
#18+
Sergey-2008То такой способ (моя служебная запись) обновления, уже не работает, без переконнекта IBDataBase Что я забыл? Про уровни изоляции транзакций уже посоветовали. От себя добавлю, что лучше разделять читающие и пишущие транзакции. И использовать Commit для пишущей транзакции вместо CommitRetaining для читающе-пишущей. Тут очень хорошо и подробно описана работа с транзакциями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 11:20 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39631233&tid=2041007]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
140ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 469ms |

| 0 / 0 |
