powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Commit
10 сообщений из 10, страница 1 из 1
Commit
    #32411544
tors
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допусти м я ввел(удалил, отредактировал) в DBGrid запись.
Мне нужно, чтобы данные сразу попали в БД.
Вызываю в OnAftyerPost (IBQuery) IBTransaction->Commit();
Все бы хорошо, но приэтом закрывается IBQuery, а это уже не хорошо.
Посоветуйте что-нибудь.
...
Рейтинг: 0 / 0
Commit
    #32411550
Фотография Kull Damned
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CommitRtaining спасет отца...
...
Рейтинг: 0 / 0
Commit
    #32411783
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или АШИЗдгы, часто называемые FIBPlus...
...
Рейтинг: 0 / 0
Commit
    #32411980
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все бы хорошо, но приэтом закрывается IBQuery, а это уже не хорошо.

Так было и так будет.

Так уж мир устрен.

Ретаининг, наверное, в твоем случае не стоит использовать - слишком большая нагрузка при большой выборке.

Юзай для записи одну транзакцию, а для просмотра другую. Естественно, после коммит первой - реопен (рефреш) второй.
...
Рейтинг: 0 / 0
Commit
    #32412004
Denis Uskov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>mv
> Юзай для записи одну транзакцию, а для просмотра другую.

Это хороший совет!

> Естественно, после коммит первой - реопен (рефреш) второй.

А вот это уже похуже, потому как реопен перетянет кучу записей, может даже не изменившихся другими пользователями с момента предыдущего опена.
Нужно делать рефреш только одной(изменившейся) записи, это даже в IBX есть.
------------------------
С уважением, Denis Uskov
...
Рейтинг: 0 / 0
Commit
    #32412128
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот это уже похуже, потому как реопен перетянет кучу записей, может даже не изменившихся другими пользователями с момента предыдущего опена.
Нужно делать рефреш только одной(изменившейся) записи, это даже в IBX есть.

В зависимости от ситуации.
...
Рейтинг: 0 / 0
Commit
    #32412810
sqliner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Denis Uskov

>Нужно делать рефреш только одной ( изменившейся ) записи , это даже в IBX есть

Если не ломает, разжуй чуток, как это сделать?
...
Рейтинг: 0 / 0
Commit
    #32412835
Denis Uskov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>mv
>В зависимости от ситуации.
Возможно, если в ту IBQuery выбирается чуть-чуть записей.

>sqliner
>Если не ломает, разжуй чуток, как это сделать?
Для IBQuery красиво не получится, но ...:
нужно привязать UpdateSQL и прописать RefreshSQL. В программе вызвать IBQuery1.Refresh, но для нормальной работы придется кешированные изменения использовать.
Для IBDataSet все намного проще. Прописываешь все SQL(select, insert, update, refresh) запросы и в программе IBDataSet1.Refresh.
Вот и все!
------------------------
С уважением, Denis Uskov
...
Рейтинг: 0 / 0
Commit
    #32412927
sqliner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Denis Uskov
Въехал...
Где выборки на клиента большие, вероятно резон есть, но
на мой взгляд лучше делать выборки как можно меньше и апдейтить все
Close_Open-ом. Юзер все равно больше чем с 40-60 записями одновременно практически никогда не работает... ну рази шта очень суровый интеллект у него ;-)
Однако Спасибо.
...
Рейтинг: 0 / 0
Commit
    #32416302
Denis Uskov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>sqliner
Считаем:
40 записей против 1 и это умножить на размер записи, а если клиентов много.
На мой взгляд при редактировании/добавлении, точнее после, лучше сделать рефреш 1, а если юзер захотел обновить ВСЕ, так пусть кнопку нажмет и там уж CloseOpen.
В общем многое зависит от задачи. Если это справочник с 2-мя полями и записей мало, то конечно можно и все выбрать.
------------------------
С уважением, Denis Uskov
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Commit
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]