Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 561

Эндрю Троелсен

Интерфейс IDbConnection

Тип IDbConnection реализуется объектом соединения поставщика данных, Этот интерфейс определяет множество членов, используемых для настройки соединения с конкретным хранилищем данных, а также позволяет получить объект транзакции поставщика данных. Вот формальное определение IDbConnection.

public interface IDbConnection: IDisposable {

 string ConnectionString { get; set; }

 int ConnectionTimeout { get; }

 string Database { get; }

 ConnectionState State { get; }

 IDbTransaction BeginTransaction();

 IDbTransaction BeginTransaction(IsolationLevel il);

 void ChangeDatabase(string databaseName);

 void Close();

 IDbCommand CreateCommand();

 void Open();

}

Интерфейс IDbTransaction

Как видите, перегруженный метод BeginTransaction(), определенный интерфейсом IDbConnection, обеспечивает доступ к объекту транзакции поставщика данных. Используя члены, определенные интерфейсам IDbTransaction, вы можете осуществлять программное взаимодействие с сеансом транзакции и соответствующим хранилищем данных.

public Interface IDbTransaction: IDisposable {

 IDbConnection Connection { get; }

 IsolationLevel IsolationLevel { get; }

 void Commit();

 void Rollback();

}

Интерфейс IDbCommand

Интерфейс IDbCommand будет реализован объектом команды поставщика данных. Как и в других объектных моделях доступа к данным, здесь объекты команд позволяют программно обрабатывать SQL-операторы, хранимые процедуры и параметризованные запросы. Кроме того, с помощью перегруженного метода ExecuteReader() объекты команд обеспечивают доступ к объекту чтения данных поставщика данных,

public Interface IDbCommand: IDisposable {

 string CommandText { get; set; }

 int CommandTimeout { get; set; }

 CommandType CommandType { get; set; }

 IDbConnection Connection { get; set; }

 IDataParameterCollection Parameters { get; }

 IDbTransaction Transaction { get; set; }

 UpdateRowSource UpdateRowSource { get; set; }

 void Cancel();

 IDbDataParameter CreateParameter();

 int ExecuteNonQuery();

 IDataReader ExecuteReader();

 IDataReader ExecuteReader(CommandBehavior behavior);

 object ExecuteScalar();

 void Prepare();

}

Интерфейсы IDbDataParameter и IDataParameter

Обратите внимание на то, что свойство Parameters интерфейса IDbCommand возвращает строго типизованную коллекцию, реализующую интерфейс IDataParameterCollection. Этот интерфейс обеспечивает доступ к множеству совместимых с IDbDataParameter типов класса (например, объектов параметров).

public interface IDbDataParameter: IDataParameter {

 byte Precision { get; set; }

 byte Scale { get; set; }

 int Size { get; set; }

}

Интерфейс IDbDataParameter расширяет интерфейс IDataParameter. предлагающий следующие возможности.

public interface IDataParameter {

 DbType DbType { get; set; }