Руководство по работе с БД Firebird с использованием библиотеки ADO .Net 2.0

       

Заполнение объекта DataSet


Класс DataSet служит для хранения данных, загруженных из базы, в памяти. Фактически он представляет собой набор таблиц, связанных отношениями и в идеальном случае копирует структуру исходной базы данных.

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

Существуют несколько способов заполнения объекта DataSet:

Первый из них, который появился ещё в Net Framework 1.0, это способ заполнения DataSet при помощи класса OleDbDataAdapter:

public void FillDataSetFromDataAdapter() { DataSet ds = new DataSet();

using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope()) { OleDbConnection con = ConnectionProvider.CreateConnection(); con.Open();

OleDbDataAdapter adapter = new OleDbDataAdapter("select * from EMPLOYEE", con); adapter.Fill(ds);

Assert.IsTrue(ds.Tables[0].Rows.Count > 0); scope.Complete(); } }

Второй способ появился только в ADO .Net 2.0 – это возможность заполнения DataSet, используя OleDbDataReader:

public void FillDataSetFromDBReaderTest() { OleDbConnection con = ConnectionProvider.CreateConnection(); con.Open(); OleDbCommand cmd = new OleDbCommand("select * from EMPLOYEE",con, con.BeginTransaction());

DataSet ds = new DataSet(); DataTable tbl = ds.Tables.Add("EMPLOYEE");

using (OleDbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { ds.Load(reader, LoadOption.OverwriteChanges, tbl); } }



Содержание раздела