Вопрос № 127573: Здравствуйте эксперты. У мну возникла проблема. Есть база Firebird. В программе приложения клиента в DM (Датамодуле размещены компоненты Interbase). IBTable, IBQuery... Некоторые DBGridы в программе связаны с DATASOURce-ами. Все компоненты доступа к ...
Вопрос № 127.573
Здравствуйте эксперты. У мну возникла проблема. Есть база Firebird. В программе приложения клиента в DM (Датамодуле размещены компоненты Interbase). IBTable, IBQuery... Некоторые DBGridы в программе связаны с DATASOURce-ами. Все компоненты доступа к базе находятся в датамодуле. Проблема в том что когда я добавляю запись в таблицу, запись добавляется. но в дбгриде она не появляется до следующего запуска приложения. После добавления записи в таблицу которая связана c -> IBQuery -> Datasource -> Dbgrid(который
находится на форме). имеет те же данные что и были до этого. Хотя обновление IBQuery делаю свойством open
Следующий код выполняется по нажатию на кнопку. и Второй вопрос, почему то когда приходят на е майл ваши ответы , не могу отпрвить оценку и комментарий, кнопка заблокирована ии не реагирует на щелчок мыши, с чем это может быть связано? спасибо большое за уделенное внимание
Отвечает: Лукьяненко Алексей Валериевич
Здравствуйте, Артур Вильевич!
После вставки записи Вам необходимо провести закрепление данных - Commit или CommitRetaining. (Разница только в том, что CommitRetaining не закрывает наборы данных, а просто Commit - закрывает).
Есть подозрение, что для каждого из IBQuery Вы используетет отдельный IBTransaction. Если это так, проверьте, чтобы у них были установлены параметры read_commited (читать данные подтвержденных транзакций. В противном случае установлен режим Snapshot_isolation - читаются данные, существовавшие на момент старта транзакции).
Ответ отправил: Лукьяненко Алексей Валериевич (статус: Студент)
Ответ отправлен: 17.03.2008, 10:19 Оценка за ответ: 4 Комментарий оценки: Спасибо большое за проявленное внимание к моем вопросу. Ответ заслуживает достойной оценки, проверил все как вы сказали