Прочитать на английском

Поделиться через


IDbCommand Интерфейс

Определение

Представляет инструкцию SQL, которая выполняется при подключении к источнику данных и реализуется поставщиками данных .NET, имеющими доступ к реляционным базам данных.

public interface IDbCommand : 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]));
            }
        }
    }
}

Комментарии

Интерфейс 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

Возвращает или задает транзакцию, в рамках которой выполняется объект Command поставщика данных .NET.

UpdatedRowSource

Возвращает или задает способы применения результатов команд к объекту DataRow при использовании метода Update(DataSet) объекта DbDataAdapter.

Методы

Cancel()

Пытается отменить выполнение IDbCommand.

CreateParameter()

Создает новый экземпляр объекта IDbDataParameter .

Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

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

Выполняет инструкцию SQL для объекта Connection поставщика данных .NET и возвращает число задействованных строк.

ExecuteReader()

Выполняет CommandText применительно к объекту Connection и создает IDataReader.

ExecuteReader(CommandBehavior)

Выполняет CommandText применительно к объекту Connection и создает IDataReader с помощью одного из значений CommandBehavior.

ExecuteScalar()

Выполняет запрос и возвращает первый столбец первой строки результирующего набора, возвращаемого запросом. Дополнительные столбцы или строки не обрабатываются.

Prepare()

Создает подготовленную (или скомпилированную) версию команды в источнике данных.

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

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

См. также раздел