UpdateRowSource UpdateRowSource { get; set; }

 void Cancel();

 IDbDataParameter CreateParameter();

 int ExecuteNonQuery();

 IDataReader ExecuteReader();

 IDataReader ExecuteReader(CommandBehavior behavior);

 object ExecuteScalar();

 void Prepare();

}

<p>Интерфейсы IDbDataParameter и IDataParameter</p>

Обратите внимание на то, что свойство 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; }

 ParameterDirection Direction { get; set; }

 bool IsNullable { get; }

 string ParameterName { get; set; }

 string SourceColumn { get; set; }

 DataRowVersion SourceVersion { get; set; }

 object Value { get; set; }

}

Как видите, интерфейсы IDbDataParameter и IDataParameter позволяют представить параметры SQL-команды (включая хранимые процедуры) в виде специальных объектов параметров ADO.NET, а не в виде сложных строковых литералов.

<p>Интерфейсы IDbDataAdapter и IDataAdapter</p>

Адаптеры данных используются для извлечения объектов DataSet из хранилища данных и отправки их в хранилище. Интерфейс IDbDataAdapter определяет набор свойств, используемых для поддержки SQL-операторов в операциях выборки, вставки, обновления и удаления данных.

public interface IDbDataAdapter: IDataAdapter {

 IDbCommand DeleteCommand { get; set; }

 IDbCommand InsertCommand { get; set; }

 IDbCommand SelectCommand { get; set; }

 IDbCommand UpdateCommand { get; set; }

}

Кроме этих четырех свойств, адаптер данных ADO.NET наследует поведение, определенное его базовым интерфейсом IDataAdapter. Этот интерфейс определяет ключевую функцию адаптера данных: способность переносить объекты DataSet из приложения вызывающей стороны в хранилище данных и обратно, используя методы Fill() и Update().

Дополнительно интерфейс IDataAdapter позволяет транслировать имена столбцов базы данных в более понятные пользователю дисплейные имена с помощью свойства TableMappings.

public interface IDataAdapter {

 MissingMappingAction MissingMappingAction { get; set; }

 MissingSchemaAction MissingSchemaAction { get; set; }

 ITableMappingCollection TableMappings { get; }

 int Fill(System.Data.DataSet dataSet);

 DataTable[] FillSchema(DataSet dataSet, SchemaType schemaType);

 IDataParameter[] GetFillParameters();

 int Update(DataSet dataSet);

}

<p>Интерфейсы IDataReader и IDataRecord</p>

Следующим ключевым интерфейсом является IDataReader, который представляет общие возможности поведения объекта чтения данных. Получив IDataReader-тип от поставщика данных ADO.NET, вы можете обратиться к результирующему набору данных в режиме однонаправленного доступа, позволяющего только чтение.

public interface IDataReader: IDisposable, IDataRecord {

 int Depth { get; }

 bool IsClosed { get; }

 int RecordsAffected { get; }

 void Close();

 DataTable GetSchemaTable();

 bool NextResult();

 bool Read();

}

Перейти на страницу:

Похожие книги