С запросами, хранимыми процедурами и т.д., объектом Command,Recordset я знаком.С объектом DataSet-не очень...
Меня интересует:
Методы BegineEdit() и EndEdit() нужны для чего я понял (согласно их описанию). Проблема такова: При применении их объектом DataRow (соответсвенно принадлежащиму таблице из DataSet) они не работают, т.е. не редактируют реальную БД, тоже самое касается и добаления новых колонок (DataTable.Columns.Add())т.д...,
Т.е. всех методов, касающихся редактирования БД. Получатся так что измениея происходят где-то во временных представлениях БД и никак не влияют на реальную. Путей синхронизации реальной и виртульной БД я не нашел. Если эти методы существуют, то как-то они должны применяться и работать? А-то получается что DataSet нужен лишь для представления или как-бы отображения данных со своими правилами?
Они по идее НЕ ДОЛЖНЫ редактировать источник данных! DataSet - это
набор отсоединённых данных. Принцип работы с данными в ADO .NET
строится примерно так:
1. Получаем данные из исчтоника и закидываем в Dataset.
Это делается с помощью объекта DataAdapter его методом Fill.
2. Всячески извращаемся с данными в Dataset: показывам юзеру, читаем,
изменяем, добавляем новые строки и т.д.
Это делается, собственно, через методы/свойства самого Dataset, в том
числе, коллекция Rows.
3. Если надо, то все изменения закидываем назад в базу данных. Это
также делается с использованием DataAdpater, но уже его методом
Update. Причём нужно не забыть установить соответствующие свойства
UpdateCommand, InsertCommand, DeleteCommand, которые будут
использованы для изменения, добавления и удаоения записей в БД,
соответственно.