Язык

SqlBatch Класс

Определение

public ref class SqlBatch : IAsyncDisposable, IDisposable
public ref class SqlBatch : System::Data::Common::DbBatch
public class SqlBatch : IAsyncDisposable, IDisposable
public class SqlBatch : System.Data.Common.DbBatch
type SqlBatch = class
    interface IDisposable
    interface IAsyncDisposable
type SqlBatch = class
    inherit DbBatch
Public Class SqlBatch
Implements IAsyncDisposable, IDisposable
Public Class SqlBatch
Inherits DbBatch
Наследование
SqlBatch
Наследование
SqlBatch
Реализации

Примеры

В следующем примере создается и a SqlConnectionSqlBatch, а затем добавляется несколько SqlBatchCommand объектов в пакет. Затем он выполняет пакет, создав пакет SqlDataReader. Пример считывает результаты пакетных команд, записывая их в консоль. Наконец, в примере закрывается SqlDataReader , а затем SqlConnectionusing блоки выходят из области.

using Microsoft.Data.SqlClient;

class Program
{
    static void Main()
    {
        string str = "Data Source=(local);Initial Catalog=Northwind;"
        + "Integrated Security=SSPI;Encrypt=False";
        RunBatch(str);
    }

    static void RunBatch(string connString)
    {
        using var connection = new SqlConnection(connString);
        connection.Open();

        using var batch = new SqlBatch(connection);

        const int count = 10;
        const string parameterName = "parameter";
        for (int i = 0; i < count; i++)
        {
            var batchCommand = new SqlBatchCommand($"SELECT @{parameterName} as value");
            batchCommand.Parameters.Add(new SqlParameter(parameterName, i));
            batch.BatchCommands.Add(batchCommand);
        }

        var results = new List<int>(count);
        using (SqlDataReader reader = batch.ExecuteReader())
        {
            do
            {
                while (reader.Read())
                {
                    results.Add(reader.GetFieldValue<int>(0));
                }
            } while (reader.NextResult());
        }
        Console.WriteLine(string.Join(", ", results));
    }
}

В следующем примере создается и a SqlConnectionSqlBatch, а затем добавляется несколько SqlBatchCommand объектов в пакет. Затем он выполняет пакет, создав пакет SqlDataReader. Пример считывает результаты пакетных команд, записывая их в консоль. Наконец, в примере закрывается SqlDataReader , а затем SqlConnectionusing блоки выходят из области.

using Microsoft.Data.SqlClient;

class Program
{
    static void Main()
    {
        string str = "Data Source=(local);Initial Catalog=Northwind;"
                   + "Integrated Security=SSPI;Encrypt=False";
        RunBatch(str);
    }

    static void RunBatch(string connString)
    {
        using var connection = new SqlConnection(connString);
        connection.Open();

        using var batch = new SqlBatch(connection);

        const int count = 10;
        const string parameterName = "parameter";
        for (int i = 0; i < count; i++)
        {
            var batchCommand = new SqlBatchCommand($"SELECT @{parameterName} as value");
            batchCommand.Parameters.Add(new SqlParameter(parameterName, i));
            batch.BatchCommands.Add(batchCommand);
        }

        var results = new List<int>(count);
        using (SqlDataReader reader = batch.ExecuteReader())
        {
            do
            {
                while (reader.Read())
                {
                    results.Add(reader.GetFieldValue<int>(0));
                }
            } while (reader.NextResult());
        }
        Console.WriteLine(string.Join(", ", results));
    }
}

Конструкторы

Имя. Описание
SqlBatch()

Инициализирует новый SqlBatch.

SqlBatch(SqlConnection, SqlTransaction)

Инициализирует новый SqlBatch.

Свойства

Имя. Описание
BatchCommands

Список команд, содержащихся в пакете в объекте SqlBatchCommandCollection.

Commands

Список SqlBatchCommand , содержащийся в пакете в объекте List<T>.

Connection

Возвращает или задает используемый SqlConnection этим экземпляром экземпляра SqlBatch.

DbBatchCommands

Получает коллекцию SqlBatchCommand объектов.

DbConnection

Возвращает или задает используемый DbConnection этим SqlBatchпараметром.

DbTransaction

Возвращает или задает объект SqlTransaction , в котором выполняется этот SqlBatch объект.

Timeout

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

Transaction

Возвращает или задает объект SqlTransaction , в котором SqlBatch выполняются команды.

Методы

Имя. Описание
Cancel()

Пытается отменить выполнение объекта SqlBatch.

CreateDbBatchCommand()

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

Dispose()

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

DisposeAsync()

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

ExecuteDbDataReader(CommandBehavior)

Выполняет пакет с его подключением, возвращая SqlDataReader объект, который можно использовать для доступа к результатам.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Эта реализация вызывает ExecuteReaderAsync() метод и возвращает завершенную задачу. Реализация по умолчанию возвращает отмененную задачу при передаче уже отмененного маркера отмены. Этот метод принимает маркер отмены, который можно использовать для запроса на отмену операции раньше.

ExecuteNonQuery()

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

ExecuteNonQueryAsync(CancellationToken)

Это асинхронная версия ExecuteNonQuery(). Реализация вызывает ExecuteNonQueryAsync(CancellationToken) метод и возвращает завершенную задачу. Реализация по умолчанию возвращает отмененную задачу при передаче уже отмененного маркера отмены. Не вызывайте другие методы и свойства DbCommand объекта до завершения возвращаемой задачи.

ExecuteReader()

Отправляет объект CommandsConnection в и создает объект SqlDataReader.

ExecuteReader(CommandBehavior)

Отправляет объект CommandsConnection в и создает объект SqlDataReader.

ExecuteReaderAsync(CancellationToken)

Асинхронная версияExecuteReader(), которая отправляет объект Commands в и создает Connection объектSqlDataReader. Исключения будут сообщаться с помощью возвращаемого объекта Task.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Асинхронная версияExecuteReader(), которая отправляет объект Commands в и создает Connection объектSqlDataReader. Исключения будут сообщаться с помощью возвращаемого объекта Task.

ExecuteScalar()

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

ExecuteScalarAsync(CancellationToken)

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

Prepare()

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

PrepareAsync(CancellationToken)

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

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