![]() |
|
![]() ![]() ![]() |
|
Рысь |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 19.8.2005 Где: Москва Репутация: нет Всего: нет |
Доброго времени суток!
У меня возникла проблема при поытке зафиксировать изменеия в базе методом ApplyUpdates(). Я использую в качестве СУБД InterBase 7.5 Мне необходимо зафиксировать все произведенные с таблицей изменеия по нажатию кнопки Сохранить. Для отображения данных используется TDBGridEh. Имеется компонент TIBQuery и, связанный с ним, TIBUpdateSQL. Свойство IBQuery CachedUpdates=true, при редактировании выставляю IBQuery->Edit(). Пользователь редактирует записи, после чего может подтвердить или отменить изменеия. При подтверждении я делаю: if(DataModule1->IBQuery->CachedUpdates) { DataModule1->IBQuery->ApplyUpdates(); } В случае если была отредактированна только 1 запись, все проходит успешно. Если же изменения коснулись нескольких записей генерируется исключение EIBClientError "Update Failed". На форумах пишут о подобных проблемах, объясняется все тем, что InerBase не знает какую ему запись модифицировать, если в кеше несколько именений. Возник вопрос: так ли это? И если так, то можно как-то обойти это проблему? Или мне после каждой строки таблицы выводить запрос на сохранение? ![]() ![]() ![]() ![]() ![]() Это сообщение отредактировал(а) Рысь - 17.2.2006, 09:58 |
|||
|
||||
OSV |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 5.4.2006 Где: Донецк Репутация: нет Всего: нет |
Я точно не помню, но помоему я вставлял IBQuery->Refresh() до или после строки IBQuery->ApplyUpdates();
И вродибы работало. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C++: Базы данных" | |
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |