Удаление записи из таблицы

Обсуждение возникших проблем, предложений и ошибок MyDAC компонентов
Закрыто
Nikkore
Сообщения: 8
Зарегистрирован: Пт 07 дек 2012 12:58

Удаление записи из таблицы

Сообщение Nikkore » Сб 26 янв 2013 15:24

Здравствуйте!

При удалении записи командой table.Delete приходит сообщение

"Update failed. Found 0 records"

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

Можно ли как-еибудь удалить эту реально не существующую в базе запись из таблицы, не делая полный рефреш таблицы?

Спасибо!

DemetrionQ
Devart Team
Сообщения: 51
Зарегистрирован: Пн 28 янв 2013 11:54

Re: Удаление записи из таблицы

Сообщение DemetrionQ » Вт 29 янв 2013 10:45

Здравствуйте.

Для решения проблемы установите опцию Options.StrictUpdate в значение False:
MyTable1.Options.StrictUpdate := False;
Это предотвратит возникновение ошибки при попытках удалить запись, которой уже нет в БД. При этом, из загруженного DataSet запись удалится.

Также вы можете использовать метод RefreshQuick с параметром True:
MyTable1.RefreshQuick(True);
Этот метод обновит ваш DataSet с учётом только изменённых данных на сервере. Для корректной работы метода таблица должна иметь уникальное поле и TimeStamp поле.

Для более подробной информации о StrictUpdate и RefreshQuick читайте документацию, поставляемую с продуктом.

Nikkore
Сообщения: 8
Зарегистрирован: Пт 07 дек 2012 12:58

Re: Удаление записи из таблицы

Сообщение Nikkore » Вт 29 янв 2013 22:13

Спасибо за исчерпывающий ответ!

Закрыто