Обновление данных в DataSet
C#
На форме DataSet - MyData.
2 Таблицы получаем из XML (MyData.ReadXML("mydata.xml");
Есть функция, которая в первой таблице меняет значения в нескольких строках и добавляет во вторую таблицу новую строку.
Проблема:
Измененные данные живут до следующего доступа(изменение/добавление) к соответствующим ячейкам таблиц, то есть новые изменения внесенные в первую таблицу игнорируются и производятся относительно начальных значений, а во вторую таблицу строка добавляется на место предыдущей.
Вызов MyData.AcceptChanges(); или MyData.Tables[0].AcceptChanges();, MyData.Tables[1].AcceptChanges(); не имееи _никакого_ эффекта.
Всю жизнь пишу на С++, есть опыт работы с ADO. На C# - первая программа. Чувствую, что грабли - детские и потому наступать на них особенно неприятно.. Выручайте!
Дело в том что это:
Код:
MyData.Tables[1].AcceptChanges();
всего лиш подтверждает изменение/удаление/добовление записей.
И генерирует соответствующие события.
а вот как рас в этих событиях можно сохранять/удалять и добовлять данные в самом хранилище (База данных/или файл).
Если работаеш с XML то там есть функция Save();
тоесть тебе надо или вместо
Код:
MyData.Tables[1].AcceptChanges();
использовать
Код:
MyData.WriteXml();
:)