IDbCommand Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет инструкцию SQL, которая выполняется при подключении к источнику данных и реализуется поставщиками данных .NET, имеющими доступ к реляционным базам данных.
public interface class IDbCommand : IDisposable
public interface IDbCommand : IDisposable
type IDbCommand = interface
interface IDisposable
Public Interface IDbCommand
Implements IDisposable
- Производный
- Реализации
Примеры
В следующем примере создаются экземпляры производных классов, SqlConnectionSqlCommandи SqlDataReader. Пример считывает данные, записывая их в консоль. Наконец, пример закрывает SqlDataReader, а затем SqlConnection.
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(
queryString, connection);
connection.Open();
using(SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
}
}
}
Public Sub ReadOrderData(ByVal connectionString As String)
Dim queryString As String = _
"SELECT OrderID, CustomerID FROM dbo.Orders;"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
Try
While reader.Read()
Console.WriteLine(String.Format("{0}, {1}", _
reader(0), reader(1)))
End While
Finally
' Always call Close when done reading.
reader.Close()
End Try
End Using
End Sub
Комментарии
Интерфейс IDbCommand позволяет наследуемому классу реализовать класс Command, представляющий оператор SQL, который выполняется в источнике данных. Дополнительные сведения о классах command см. в разделе "Выполнение команды".
Приложение не создает экземпляр IDbCommand интерфейса напрямую, а создает экземпляр класса, реализующего IDbCommand интерфейс.
Классы, реализующие, IDbCommand должны реализовывать все его члены и обычно определять дополнительные члены для добавления функциональных возможностей конкретного поставщика. Например, IDbCommand интерфейс определяет ExecuteNonQuery метод. В свою очередь, SqlCommand класс наследует ExecuteXmlReader этот метод, а также определяет метод.
Примечания для тех, кто реализует этот метод
Чтобы повысить согласованность между поставщиками данных платформа .NET Framework, назовите наследующий класс в формеPrvClassname
, где Prv
является универсальным префиксом, заданным всем классам в определенном платформа .NET Framework пространстве имен поставщика данных. Например, Sql
это префикс SqlCommand класса в System.Data.SqlClient
пространстве имен.
При наследовании от IDbCommand интерфейса необходимо реализовать следующие конструкторы:
Элемент | Описание |
---|---|
PrvCommand() | Инициализирует новый экземпляр класса PrvCommand. |
PrvCommand(string cmdText) | Инициализирует новый экземпляр класса PrvCommand с текстом запроса. |
PrvCommand(string cmdText, PrvConnection connection) | Инициализирует новый экземпляр класса PrvCommand с текстом запроса и PrvConnection. |
PrvCommand(string cmdText, PrvConnection connection, PrvTransaction transaction) | Инициализирует новый экземпляр класса PrvCommand с текстом запроса, PrvConnection и PrvTransaction. |
Свойства
CommandText |
Возвращает или задает текстовую команду, выполняемую применительно к источнику данных. |
CommandTimeout |
Возвращает или задает время ожидания (в секундах) перед прекращением попытки выполнить команду и выводом ошибки. |
CommandType |
Указывает или определяет способ интерпретации свойства CommandText. |
Connection |
Возвращает или задает объект IDbConnection, используемый этим экземпляром класса IDbCommand. |
Parameters |
Возвращает набор IDataParameterCollection. |
Transaction |
Возвращает или задает транзакцию, в рамках которой выполняется объект |
UpdatedRowSource |
Возвращает или задает способы применения результатов команд к объекту DataRow при использовании метода Update(DataSet) объекта DbDataAdapter. |
Методы
Cancel() |
Пытается отменить выполнение IDbCommand. |
CreateParameter() |
Создает новый экземпляр объекта IDbDataParameter . |
Dispose() |
Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов. (Унаследовано от IDisposable) |
ExecuteNonQuery() |
Выполняет инструкцию SQL для объекта |
ExecuteReader() |
Выполняет CommandText применительно к объекту Connection и создает IDataReader. |
ExecuteReader(CommandBehavior) |
Выполняет CommandText применительно к объекту Connection и создает IDataReader с помощью одного из значений CommandBehavior. |
ExecuteScalar() |
Выполняет запрос и возвращает первый столбец первой строки результирующего набора, возвращаемого запросом. Дополнительные столбцы или строки не обрабатываются. |
Prepare() |
Создает подготовленную (или скомпилированную) версию команды в источнике данных. |