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() |
Создает подготовленную (или скомпилированную) версию команды в источнике данных. |