AutoCommit в Firebird

ЧАстые Вопросы и Ответы

Модераторы: kdv, CyberMax

Ответить
vfedorov
Сообщения: 4
Зарегистрирован: 13 сен 2005, 05:05

AutoCommit в Firebird

Сообщение vfedorov » 08 окт 2005, 00:13

Работаю с FireBird и для связи с базой данных использую ibDatabase, ibTransaction, ibQuery, ibTable.
Для просмотра записей использую dataSource и DBGrid, связанных с ibTable

Если добовлять записи через ibQuery - данные становятся видны в DBGrid после вызова методы Commit компонента ibTransaction, при этом свойство Active компонента ibTable становится равно false, т.е. приходится переоткрывать ibTable заново. Это прибодит к торможению системы при больших объёмах данных.

Вопрос - как это всё сделать автоматически?
Заранее спасибо

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

Сообщение kdv » 08 окт 2005, 13:34


vfedorov
Сообщения: 4
Зарегистрирован: 13 сен 2005, 05:05

Сообщение vfedorov » 08 окт 2005, 18:15

Огромное спасибо за ссылку.

Но вот остался ещё один вопрос.
Например есть программа с двумя копмонентами ibTransaction.
Первый связян с компонентом ibTable
Второй с ibQuery

Допустим мы с помощью ibQuery обновляем записи и вызываем мотод Commit.
Как можно отобразить эти новые данные в dbGrid, связянной с ibTable, не вызывая метода Refresh в ibTable.

Заранее спасибо

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

Сообщение kdv » 08 окт 2005, 18:30

никак. обновление данных - это их перечитывание. одна транзакция поменяла данные, сделала commit. чтобы все остальные увидели данные, их надо снова прочитать. Они ж на сервере были изменены.

Ответить