C # DataSet, DataAdapter - Как изменить состояние строки, чтобы вызвать вставку? - PullRequest
3 голосов
/ 03 января 2011

Я пытаюсь реализовать кнопку «Сохранить как», чтобы данные в наборе данных, который был DataAdapter.Filled (), и INSERT в базу данных.

DataSet имеет 4 таблицы - 1 родительская (таблица из одной строки), 3 дочерняя. с внешними каскадными ограничениями удаления / обновления. Мое намерение состоит в том, чтобы попросить пользователя ввести новый первичный ключ (сложный), а затем попытаться указать DataAdapter или DataSet пометить все строки (и последующие новые) в 4 таблицах как DataRowState.Added; Но DataRow.SetAdded () выбрасывает исключение «Может только SetAdded для DataRowState.Unchanged строк» ​​

У кого-нибудь есть идеи, как это сделать? Любые другие эффективные методы для «Сохранить как» также приветствуются. Большое спасибо.

EDIT: На всякий случай, DataRelations уже установлены. Нормальный INSERT, UPDATE, DELETE и SELECT работает отлично.

1 Ответ

6 голосов
/ 03 января 2011

возможно это работает

row.AcceptChanges(); // sets DataRowState.Unchanged
row.SetAdded();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...