Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > DBConcurrencyException


Автор: Roo 25.7.2006, 04:49
Заметил такую вещь. Добавляю в пустую таблицу строку, через датасет. Всё вроде нормально. Но после удаления этой строки в датасете, вызов Update() sql-адаптера выдаёт DBConcurrencyException, и в итоге - "the DeleteCommand affected 0 records". Кто-нибудь знает, из-за чего это, и как с этим бороться?
З.Ы. Посмотрел Profiler - при удалении не совпадают значения поля Identity в DataSet'е и в БД. Пробовал после добавления делать ещё раз Fill() - не помогает... 

Автор: mr.DUDA 25.7.2006, 09:16
Цитата(Roo @  25.7.2006,  04:49 Найти цитируемый пост)
"the DeleteCommand affected 0 records"

Оператор Delete не затронул ни одной строки. Что говорит о том, что удалённые Row-ы в датасете не соответствуют записям в БД. Избежать этого можно, если в Update передавать не сам датасет, а только изменения (DataSet.GetChanges). 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)