Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ADOTable1->CancelBatch(arAll), Ошибка после добавления записи 
:(
    Опции темы
artsb
Дата 8.12.2009, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 1
Всего: 64



Привет делфистам!
Использую ADOTable и кэширование изменений.
Для отката использую ADOTable1->CancelBatch(arAll);
Проблема в том, что после удаления или изменения записи это работает нормально. А вот если добавить запись и потом попробовать откатить изменения, вылетает экскепшен:
user posted image
Пока решил проблему так:
Код

try {
 ADOQuery1->CancelBatch(arAll);
}
catch(...) { ; }

И вроде всё работает.  Но кто его знает, как эта ошибка себя проявит потом.

ЗЫ делаю всё в ВСВ 6.

to admins & moderators: в разделе по BCB ничем помочь не смогли, поэтому пришёл к вам.

Это сообщение отредактировал(а) artsb - 8.12.2009, 12:46


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
artsb
Дата 10.12.2009, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 1
Всего: 64



нет мыслей...


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
~FoX~
Дата 10.12.2009, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 4
Всего: 68



artsb, Кода мало....
Что то мне подсказывает что режим открытия не тот...


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
artsb
Дата 16.12.2009, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 1
Всего: 64



Извиняюсь, что долго не отвечал.
Цитата(~FoX~ @  10.12.2009,  09:17 Найти цитируемый пост)
Что то мне подсказывает что режим открытия не тот... 

А что за режим то?
ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Путь\до\бд.mdb;Persist Security Info=False;

Но соединение тут не причём ИМХО. Что-то с самим компонентом. В обычном режиме он (вроде) работает нормально. А вот при кэшировании изменений, возникают проблемы.

Это сообщение отредактировал(а) artsb - 16.12.2009, 23:47


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
~FoX~
Дата 17.12.2009, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 4
Всего: 68



artsb, Я имел ввиду   
ADOQuery1.Insert;
ADOQuery1.Edit;
ADOQuery1.Append;

А вот еще идея, после отката верни фокус куда нить...   ADOQuery1.First/FindFirst еапример

Это сообщение отредактировал(а) ~FoX~ - 17.12.2009, 08:21


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
artsb
Дата 17.12.2009, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 1
Всего: 64



Цитата(~FoX~ @  17.12.2009,  08:18 Найти цитируемый пост)
Я имел ввиду   

Для добавления юзаю ADOQuery1.Insert
Цитата(~FoX~ @  17.12.2009,  08:18 Найти цитируемый пост)
после отката верни фокус куда нить...

не получится... ошибка вылетает именно во время отката, т.е. на строке:
Код

ADOQuery1.CancelBatch(arAll);


Ещё раз опишу ситуации.
При сохранении ЛЮБЫХ изменений, всё проходит ОК.
Код

ADOQuery1.UpdateBatch(arAll);


При откате же изменений возникают проблемы. Вот несколько ситуаций. Изначально в БД уже есть 1 запись.
1. После добавления записи и попытки отката, вылетает экскепшен.
2. После добавления записи, изменения уже существующей и попытке отката, всё проходит гладко.
3. После добавления записи, удаления уже существующей и попытке отката, вылетает экскепшен.

Никак не могу понять с чем это связано  smile 

Это сообщение отредактировал(а) artsb - 17.12.2009, 16:41


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0714 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.