IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.
Модератор: kdv
-
ren**
- Сообщения: 5
- Зарегистрирован: 13 июл 2006, 11:53
Сообщение
ren** » 13 июл 2006, 11:56
Проблема с "прямым эфиром" данных(простите за мой французский)... Клиент БД. Клиент №1 изменяет запись А("123") на "321", но у клиента №2 запись А все равно "123". База не обновляется

Связка компонентов:
TIBDatabase-TIBTransaction-TIBQuery-TDataSource-TDataSource
Пытался обновлять через TIBUpdateSQL.
пс. дисконнект/коннект и Close; Open; не предлагать
Сервер БД, если надо Firebird 1.5
проблема нумер 2!
Клиент №1 изменяет запись А("123") на "321", но у клиента №2 запись А все равно "123", т.к. запись обновляется только после закрытия сессии! Как сделать так, чтобы как только изменена запись данные отправлялись сразу на сервер?
фуф... все... заранее спасибо за ответы :о)
-
Merlin
- Динозавр IB/FB
- Сообщения: 1502
- Зарегистрирован: 27 окт 2004, 11:44
Сообщение
Merlin » 13 июл 2006, 12:34
Выяснить что значит слово commit.
-
ren**
- Сообщения: 5
- Зарегистрирован: 13 июл 2006, 11:53
Сообщение
ren** » 13 июл 2006, 13:48
странно... Думал автокоммит там... Обычно
Ну про это понятно...
А через транзакшен и обновлять можно нормально?
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 13 июл 2006, 14:28
а может, все-таки прочитать статью? Что значит "обновлять ЧЕРЕЗ транзакцию"?
-
ren**
- Сообщения: 5
- Зарегистрирован: 13 июл 2006, 11:53
Сообщение
ren** » 13 июл 2006, 14:56
Ну всмысле обновить данные у клиентской программы...
Чтобы у него была новая информация о записях
-
Merlin
- Динозавр IB/FB
- Сообщения: 1502
- Зарегистрирован: 27 окт 2004, 11:44
Сообщение
Merlin » 13 июл 2006, 14:56
Тебя уже послали учиться по точному адресу. Послать по общепринятому для ясности?
-
ren**
- Сообщения: 5
- Зарегистрирован: 13 июл 2006, 11:53
Сообщение
ren** » 13 июл 2006, 15:03
Не хочешь помогать(или не знаешь ответа), тогда не выпендривайся и не флеймь!
kill the posts please, admin
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 13 июл 2006, 15:07
Не хочешь помогать(или не знаешь ответа), тогда не выпендривайся и не флеймь!
не хочешь читать статью - тогда сам не парь мозги людям.
Прочитал статью? Непонятно? Тогда спрашивай. А так чего мусолить одно и то же по 10 раз?
kill the posts please, admin
рано еще.
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 13 июл 2006, 15:10
кстати, судя по названию вопроса, еще и IB 6.0 пользуешь...
-
ren**
- Сообщения: 5
- Зарегистрирован: 13 июл 2006, 11:53
Сообщение
ren** » 14 июл 2006, 10:00
Фуф
Чтобы видеть исправленные записи другой программой - справился...
А вот подтверждение изменения "коммит"... Так и не понял
Это что ли после каждого запроса делать коммит? (я пытался поставить автокоммит через idliTimer, но теперь после подтверждения транзакция закрывается вообще! А мне это не желательно, т.к. компоненты данных у меня с вкладки Data Controls, т.е. данные становятся не доступны)
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 14 июл 2006, 10:54
А вот подтверждение изменения "коммит"... Так и не понял
учи теорию. транзакции - это основное в РСУБД.
Это что ли после каждого запроса делать коммит?
www.ibase.ru/devinfo/ibx.htm#tran_use
говоришь человеку - "читай документ", а он его пролистает, а потом - "я не понял".
я пытался поставить автокоммит через idliTimer
прямо скажем, ты оригинал. так как ты сделал, делать категорически НЕЛЬЗЯ. То есть можно, например, если приложение стартовало транзакцию, а пользователь уснул. Но так не надо писать приложение.