Хелпикс

Главная

Контакты

Случайная статья





СВЯЗЬ НАБОРА ДАННЫХ И БАЗЫ ДАННЫХ



ДАННЫХ

 

В пространстве имен System.Data определена система классов, которая реализует понятие набора данных. Набор данных (DataSet) представляет собой виртуальную базу данных, которая расположена в оперативной памяти и состоит из набора (коллекции) таблиц (объектов класса DataTable) и связей между ними (объектов класса DataRelation). Каждая таблица имеет набор столбцов (объектов типа DataColumn) и набор строк (объектов типа DataRow). Все таблицы в наборе данных хранятся в виде коллекции Tables. Столбцы в таблице хранятся тоже в виде коллекции под названием Columns, а строки – в виде коллекции под названием Rows. Обращение с таблицами набора данных напоминает работу с базой данных – у таблиц имеется функция Select(), которая задает параметры сортировки и выборки данных. Таким образом, можно моделировать различные запросы.

Набор данных можно создавать программно посредством создания объектов-таблиц и столбцов. Сохранять информацию набора данных можно в формате XML с помощью функции WriteXml(). Также возможна и загрузка информации из XML-файла с помощью функции ReadXml().

 

2.5. СВЯЗЬ НАБОРА ДАННЫХ И БАЗЫ ДАННЫХ

 

Набор данных может быть связан с реальными базами данных, реализованными с помощью различных СУБД. Это реализуется с помощью объекта типа OdbcDataAdapter (или OleDbDataAdapter в зависимости от способа соединения с базой данных). Создание SQL-команды осуществляется с помощью адаптера. Кроме того, класс-адаптер имеет специальный метод, который позволяет записать результат выполнения запроса в таблицу набора данных.

Приведем пример заполнения набора данных с помощью адаптера:

// создание подключения к базе данных на основе строки соединения 

// с указанием источника данных ODBC

OdbcConnection con = new OdbcConnection("DSN=proba");

// подключение к источнику данных con.Open();

// формирование адаптера для связи с базой данных

OdbcDataAdapter adapt = new OdbcDataAdapter

("select * from Sessions", con);

// создание набора данных для сохранения результата запроса

DataSet ds = new DataSet();

// заполнение таблицы набора данных (второй параметр) 

// из базы данных через адаптер adapt.Fill(ds,”Sessions”);

// перебор строк из полученной таблицы Sessions набора данных 

// имена столбцов в таблице набора данных будут теми же, 

// что и в исходной таблице базы данных foreach (DataRow dr in ds.Tables[“Sessions”])

Console.WriteLine(“”+dr[“NumGroup”]+” “+dr[“idSubject”]+

                                           ”

”+dr[“Zach_exam”]); con.Close();

 

 

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

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.