Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2008, 16:41   #1
SanPol
Новичок
Джуниор
 
Регистрация: 01.08.2008
Сообщений: 2
По умолчанию Ошибка обновления...

Есть база данных на Access-е и приложение соответственно на Delphi. при попытке обновить отредактированную запись из приложения клиента

Цитата:
TClientDataSet.Post;
TClientDataSet.ApplyUpdates(0);
TClintDateSet.Refresh;
вылетает ошибка Must apply updates before refreshing data. Но самое интересное то, что для некоторых записей в таблице после редактирования их, все данные обновляются как по маслу, а для других вылетает эта ошибка обновления. Помогите плиз знающие люди.
SanPol вне форума Ответить с цитированием
Старый 27.08.2008, 11:43   #2
SanPol
Новичок
Джуниор
 
Регистрация: 01.08.2008
Сообщений: 2
По умолчанию

Проблема решена

Если в таблице есть ключевое поле, то необходимо указать его в SqlQuery (ProviderFlags = pfInKey), остальным полям убрать флаг pfInWhere. Провайдеру указать UpdateMode = upWhereKeyOnly. Если же ключевого поля нет, то придется "помучаться" с указанием полей, у которых ProviderFlags установить в pfInWhere. Никаким текстовым полям pfInWhere устанавливать нельзя.

Теперь все работает.
SanPol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновления WindowsXP bizpartner Софт 8 19.08.2008 18:47
Запрет обновления canvas Kn793 Общие вопросы Delphi 3 21.06.2008 17:15
Обновления в блоге Fainder О форуме и сайтах клуба 4 05.06.2008 19:31
КАК делать обновления к програме? ZhekON Общие вопросы Delphi 6 30.11.2007 21:30