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

       

DataTableReader


Данный класс позволяет использовать объект DataTable в режиме однонаправленного ForwardOnly чтения. Он, так же как и OleDbDataReader, наследуется от базового класса DBDataReader. Этот способ чтения таблиц DataSet может быть полезен, когда используются общие методы для отсоединенного источника данных и данных, которые формируются методом OleDbCommand.ExecuteReader() в подсоединенном режиме. Следующий пример демонстрирует использование общего метода PrintDBDataReader() для подсоединенного и отсоединенного режимов работы:

public void GetDBReaderFromDataTable() { DataSet ds = new DataSet(); DataTable tbl = ds.Tables.Add("EMPLOYEE");

//загрузка данных в dataSet OleDbConnection con = ConnectionProvider.CreateConnection(); con.Open(); OleDbTransaction trans = con.BeginTransaction();

ds.Load(new OleDbCommand( "select * from EMPLOYEE",con,trans).ExecuteReader(), LoadOption.OverwriteChanges, tbl);

//используем DataTable в режиме однонаправленного чтения

this.PrintDBDataReader(new DataTableReader(tbl));

//OleDbDataReader и подсоединенный режим

this.PrintDBDataReader( new OleDbCommand("select * from EMPLOYEE", con, trans).ExecuteReader());

trans.Commit(); con.Close(); }

/// <summary>

/// Выводит в консоль данные из DBDataReader

/// </summary>

/// <param name="reader"></param>

public void PrintDBDataReader(System.Data.Common.DbDataReader reader) { while (reader.Read()) { Console.WriteLine("*********************************"); for (int i = 0; i < reader.FieldCount; i++) Console.WriteLine(reader.GetName(i) + "=" + reader[i].ToString()); }

reader.Close(); }



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