TIBUpdateSQL блин [Delphi 7, компоненты InterBase6.x]

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
ren**
Сообщения: 5
Зарегистрирован: 13 июл 2006, 11:53

TIBUpdateSQL блин [Delphi 7, компоненты InterBase6.x]

Сообщение 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.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 13 июл 2006, 13:13

и прочитать www.ibase.ru/devinfo/ibx.htm, особенно
www.ibase.ru/devinfo/ibx.htm#ibtransaction
Как сделать так, чтобы как только изменена запись данные отправлялись сразу на сервер?
данные на сервер отправляются при вызове DataSet.Post, явно или через "кнопочки".

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
прямо скажем, ты оригинал. так как ты сделал, делать категорически НЕЛЬЗЯ. То есть можно, например, если приложение стартовало транзакцию, а пользователь уснул. Но так не надо писать приложение.

Ответить