|
|
|
Commit
|
|||
|---|---|---|---|
|
#18+
Допусти м я ввел(удалил, отредактировал) в DBGrid запись. Мне нужно, чтобы данные сразу попали в БД. Вызываю в OnAftyerPost (IBQuery) IBTransaction->Commit(); Все бы хорошо, но приэтом закрывается IBQuery, а это уже не хорошо. Посоветуйте что-нибудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 11:22 |
|
||
|
Commit
|
|||
|---|---|---|---|
|
#18+
CommitRtaining спасет отца... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 11:23 |
|
||
|
Commit
|
|||
|---|---|---|---|
|
#18+
Или АШИЗдгы, часто называемые FIBPlus... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 13:12 |
|
||
|
Commit
|
|||
|---|---|---|---|
|
#18+
Все бы хорошо, но приэтом закрывается IBQuery, а это уже не хорошо. Так было и так будет. Так уж мир устрен. Ретаининг, наверное, в твоем случае не стоит использовать - слишком большая нагрузка при большой выборке. Юзай для записи одну транзакцию, а для просмотра другую. Естественно, после коммит первой - реопен (рефреш) второй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 14:16 |
|
||
|
Commit
|
|||
|---|---|---|---|
|
#18+
>mv > Юзай для записи одну транзакцию, а для просмотра другую. Это хороший совет! > Естественно, после коммит первой - реопен (рефреш) второй. А вот это уже похуже, потому как реопен перетянет кучу записей, может даже не изменившихся другими пользователями с момента предыдущего опена. Нужно делать рефреш только одной(изменившейся) записи, это даже в IBX есть. ------------------------ С уважением, Denis Uskov ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 14:25 |
|
||
|
Commit
|
|||
|---|---|---|---|
|
#18+
А вот это уже похуже, потому как реопен перетянет кучу записей, может даже не изменившихся другими пользователями с момента предыдущего опена. Нужно делать рефреш только одной(изменившейся) записи, это даже в IBX есть. В зависимости от ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 15:12 |
|
||
|
Commit
|
|||
|---|---|---|---|
|
#18+
2 Denis Uskov >Нужно делать рефреш только одной ( изменившейся ) записи , это даже в IBX есть Если не ломает, разжуй чуток, как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 06:41 |
|
||
|
Commit
|
|||
|---|---|---|---|
|
#18+
>mv >В зависимости от ситуации. Возможно, если в ту IBQuery выбирается чуть-чуть записей. >sqliner >Если не ломает, разжуй чуток, как это сделать? Для IBQuery красиво не получится, но ...: нужно привязать UpdateSQL и прописать RefreshSQL. В программе вызвать IBQuery1.Refresh, но для нормальной работы придется кешированные изменения использовать. Для IBDataSet все намного проще. Прописываешь все SQL(select, insert, update, refresh) запросы и в программе IBDataSet1.Refresh. Вот и все! ------------------------ С уважением, Denis Uskov ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 07:46 |
|
||
|
Commit
|
|||
|---|---|---|---|
|
#18+
2 Denis Uskov Въехал... Где выборки на клиента большие, вероятно резон есть, но на мой взгляд лучше делать выборки как можно меньше и апдейтить все Close_Open-ом. Юзер все равно больше чем с 40-60 записями одновременно практически никогда не работает... ну рази шта очень суровый интеллект у него ;-) Однако Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 09:31 |
|
||
|
Commit
|
|||
|---|---|---|---|
|
#18+
>sqliner Считаем: 40 записей против 1 и это умножить на размер записи, а если клиентов много. На мой взгляд при редактировании/добавлении, точнее после, лучше сделать рефреш 1, а если юзер захотел обновить ВСЕ, так пусть кнопку нажмет и там уж CloseOpen. В общем многое зависит от задачи. Если это справочник с 2-мя полями и записей мало, то конечно можно и все выбрать. ------------------------ С уважением, Denis Uskov ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 08:22 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32411550&tid=1579181]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
174ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 463ms |

| 0 / 0 |
