Передача изменений набора данных в базу данных - PullRequest
1 голос
/ 28 ноября 2011

Я работаю с набором данных, который подключен к серверу SQL, и я пытаюсь удалить сразу несколько строк, а затем сохранить изменения на сервере SQL. Я пробовал это с кодом ниже:

DataRow[] rows = this.computechDataSet.VALHIS.Select("VAL_SRT = '" + this.computechDataSet.V_ALUTA.Rows[this.v_ALUTABindingSource.Position][0].ToString() + "'");
foreach (DataRow row in rows)
{
    row.Delete();
}
this.computechDataSet.VALHIS.AcceptChanges();
this.tableAdapterManager.UpdateAll(this.computechDataSet);

Строки действительно удаляются из набора данных (это выясняется путем вывода количественных данных строк), но изменения не сохраняются в моей базе данных SQL. У меня не было проблем с добавлением / редактированием / удалением строк в других таблицах, за исключением тех случаев, когда я выполнял действия для одной строки за раз.

Ответы [ 2 ]

2 голосов
/ 28 ноября 2011

попробуй без AcceptChanges

DataRow[] rows = this.computechDataSet.VALHIS.Select("VAL_SRT = '" + this.computechDataSet.V_ALUTA.Rows[this.v_ALUTABindingSource.Position][0].ToString() + "'");
foreach (DataRow row in rows)
{
    row.Delete();
}
this.tableAdapterManager.UpdateAll(this.computechDataSet);
0 голосов
/ 28 ноября 2011

попробуйте не явно зациклить строку данных, выполнив следующий метод.

this.computechDataSet.VALHIS.Select("VAL_SRT = '" + this.computechDataSet.V_ALUTA.Rows[this.v_ALUTABindingSource.Position][0].ToString() + "'").Delete();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...