IDbCommand Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет инструкцию SQL, выполняемую при подключении к источнику данных, и реализуется поставщиками данных .NET, которые обращаются к реляционным базам данных.
public interface class IDbCommand : IDisposable
public interface IDbCommand : IDisposable
type IDbCommand = interface
interface IDisposable
Public Interface IDbCommand
Implements IDisposable
- Производный
- Реализации
Примеры
В следующем примере создаются экземпляры производных классов, SqlConnectionи SqlCommandSqlDataReader. Пример считывает данные, записывая его в консоль. Наконец, в примере закрывается 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, выполняемую в источнике данных. Дополнительные сведения о классах команд см. в разделе "Выполнение команды".
Приложение не создает экземпляр 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() |
Создает подготовленную (или скомпилированную) версию команды в источнике данных. |