IDbCommand Интерфейс

Определение

Представляет инструкцию SQL, выполняемую при подключении к источнику данных, которую реализуют поставщики данных платформы NET Framework, имеющие доступ к реляционным базам данных.Represents an SQL statement that is executed while connected to a data source, and is implemented by .NET Framework data providers that access relational databases.

public interface class IDbCommand : IDisposable
public interface IDbCommand : IDisposable
type IDbCommand = interface
    interface IDisposable
Public Interface IDbCommand
Implements IDisposable
Производный
Реализации

Примеры

В следующем примере создаются экземпляры производных классов, SqlConnection, SqlCommandи SqlDataReader.The following example creates instances of the derived classes, SqlConnection, SqlCommand, and SqlDataReader. Пример считывает данные, записывая их в консоль.The example reads through the data, writing it to the console. Наконец, в примере закрывается SqlDataReader, а затем SqlConnection.Finally, the example closes the SqlDataReader, then the 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, выполняемую в источнике данных.The IDbCommand interface enables an inheriting class to implement a Command class, which represents an SQL statement that is executed at a data source. Дополнительные сведения о классах команд см. в разделе исполнение команды.For more information about Command classes, see Executing a Command.

Приложение не создает экземпляр интерфейса IDbCommand напрямую, но создает экземпляр класса, который реализует интерфейс IDbCommand.An application does not create an instance of the IDbCommand interface directly, but creates an instance of a class that implements the IDbCommand interface.

Классы, реализующие IDbCommand, должны реализовывать все его члены и, как правило, определяют дополнительные члены для добавления функций, зависящих от поставщика.Classes that implement IDbCommand must implement all its members, and typically define additional members to add provider-specific functionality. Например, интерфейс IDbCommand определяет метод ExecuteNonQuery.For example, the IDbCommand interface defines the ExecuteNonQuery method. В свою очередь, класс SqlCommand наследует этот метод, а также определяет метод ExecuteXmlReader.In turn, the SqlCommand class inherits this method, and also defines the ExecuteXmlReader method.

Примечания для тех, кто реализует этот метод

Чтобы обеспечить согласованность между .NET Framework поставщиками данных, назовите класс-наследник в форме PrvClassname, где Prv является универсальным префиксом, присвоенным всем классам в определенном пространстве имен .NET Framework поставщика данных.To promote consistency among .NET Framework data providers, name the inheriting class in the form PrvClassname where Prv is the uniform prefix given to all classes in a specific .NET Framework data provider namespace. Например, Sql является префиксом класса SqlCommand в пространстве имен System.Data.SqlClient.For example, Sql is the prefix of the SqlCommand class in the System.Data.SqlClient namespace.

При наследовании от интерфейса IDbCommand необходимо реализовать следующие конструкторы:When you inherit from the IDbCommand interface, you should implement the following constructors:

ЭлементItem ОписаниеDescription
Првкомманд ()PrvCommand() Инициализирует новый экземпляр класса Првкомманд.Initializes a new instance of the PrvCommand class.
Првкомманд (строка Кмдтекст)PrvCommand(string cmdText) Инициализирует новый экземпляр класса Првкомманд с текстом запроса.Initializes a new instance of the PrvCommand class with the text of the query.
Првкомманд (строка Кмдтекст, соединение Првконнектион)PrvCommand(string cmdText, PrvConnection connection) Инициализирует новый экземпляр класса Првкомманд текстом запроса и Првконнектион.Initializes a new instance of the PrvCommand class with the text of the query and a PrvConnection.
Првкомманд (строка Кмдтекст, соединение Првконнектион, транзакция Првтрансактион)PrvCommand(string cmdText, PrvConnection connection, PrvTransaction transaction) Инициализирует новый экземпляр класса Првкомманд текстом запроса, Првконнектион и Првтрансактион.Initializes a new instance of the PrvCommand class with the text of the query, a PrvConnection, and the PrvTransaction.

Свойства

CommandText

Возвращает или задает текстовую команду, выполняемую применительно к источнику данных.Gets or sets the text command to run against the data source.

CommandTimeout

Возвращает или задает время ожидания (в секундах) перед прекращением попытки выполнить команду и выводом ошибки.Gets or sets the wait time (in seconds) before terminating the attempt to execute a command and generating an error.

CommandType

Указывает или определяет способ интерпретации свойства CommandText.Indicates or specifies how the CommandText property is interpreted.

Connection

Возвращает или задает объект IDbConnection, используемый этим экземпляром класса IDbCommand.Gets or sets the IDbConnection used by this instance of the IDbCommand.

Parameters

Возвращает набор IDataParameterCollection.Gets the IDataParameterCollection.

Transaction

Возвращает или задает транзакцию, в пределах которой выполняется объект Command поставщика данных .NET Framework.Gets or sets the transaction within which the Command object of a .NET Framework data provider executes.

UpdatedRowSource

Возвращает или задает способы применения результатов команд к объекту DataRow при использовании метода Update(DataSet) объекта DbDataAdapter.Gets or sets how command results are applied to the DataRow when used by the Update(DataSet) method of a DbDataAdapter.

Методы

Cancel()

Пытается отменить выполнение IDbCommand.Attempts to cancels the execution of an IDbCommand.

CreateParameter()

Создает новый экземпляр объекта IDbDataParameter .Creates a new instance of an IDbDataParameter object.

Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Унаследовано от IDisposable)
ExecuteNonQuery()

Выполняет инструкцию SQL для объекта Connection поставщика данных .NET Framework и возвращает число задействованных строк.Executes an SQL statement against the Connection object of a .NET Framework data provider, and returns the number of rows affected.

ExecuteReader()

Выполняет CommandText в Connection и создает IDataReader.Executes the CommandText against the Connection and builds an IDataReader.

ExecuteReader(CommandBehavior)

Выполняет CommandText применительно к объекту Connection и создает IDataReader с помощью одного из значений CommandBehavior.Executes the CommandText against the Connection, and builds an IDataReader using one of the CommandBehavior values.

ExecuteScalar()

Выполняет запрос и возвращает первый столбец первой строки результирующего набора, возвращаемого запросом.Executes the query, and returns the first column of the first row in the resultset returned by the query. Дополнительные столбцы или строки не обрабатываются.Extra columns or rows are ignored.

Prepare()

Создает подготовленную (или скомпилированную) версию команды в источнике данных.Creates a prepared (or compiled) version of the command on the data source.

Применяется к

Дополнительно