![]()
|
|||||||
КАК СИНХРОНИЗИРОВАТЬ ИЗМЕНЕНИЯ В НАБОРЕ ДАННЫХ С2.6. КАК СИНХРОНИЗИРОВАТЬ ИЗМЕНЕНИЯ В НАБОРЕ ДАННЫХ С БАЗОЙ ДАННЫХ
В набор данных можно вносить любые изменения – добавлять новые строки, изменять и удалять существующие строки. Например, добавить строку в таблицу Sessions набора данных можно следующим образом: // создание строки на основе схемы таблицы Sessions набора данных DataRow newRow = ds.Tables[“Sessions”].NewRow(); // получилась пустая строка, столбцы которой должны быть заполнены newRow[“NumGroup”]=”903”; newRow[“idSubject”]=5; . . . // добавление созданной строки в таблицу ds.Tables[“Sessions”].Add(newRow);
Однако все изменения происходят с отсоединенным набором данных, т.е. в оперативной памяти компьютера клиентского приложения, но не в базе данных. Чтобы изменения были внесены в исходную базу данных, требуется синхронизировать набор данных и базу с помощью функции класса-адаптера Update(). Однако такая синхронизации возможна только в случае, когда объектадаптер имеет инициализированные свойства-команды SelectCommand, InsertCommand, UpdateCommand, DeleteCommand. По умолчанию при создании адаптера инициализируется только SelectCommand. Возможно задание остальных команд «вручную». Для удобства и стандартной инициализации всех свойств-команд адаптера существует специальный класс OdbcCommandBuilder, который генерирует все команды и заполняет соответствующие свойства адаптера. После этого можно проводить синхронизацию изменений с помощью функции Update(). Приведем пример такого программного кода: // создание подключения к базе данных на основе строки соединения // с указанием источника данных ODBC OdbcConnection con = new OdbcConnection("DSN=proba"); // подключение к источнику данных con.Open(); // формирование адаптера для связи с базой данных OdbcDataAdapter adapt = new OdbcDataAdapter ("select * from Sessions", con);
|
|||||||
|