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


SqlBatch Класс

Определение

public ref class SqlBatch : System::Data::Common::DbBatch
public class SqlBatch : System.Data.Common.DbBatch
type SqlBatch = class
    inherit DbBatch
Public Class SqlBatch
Inherits DbBatch
Наследование
SqlBatch

Примеры

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

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();

        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);
        }

        // Optionally Prepare
        batch.Prepare();

        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

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

Connection

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

DbBatchCommands

Возвращает коллекцию объектов SqlBatchCommand.

DbConnection

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

DbTransaction

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

Timeout

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

Transaction

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

Методы

Cancel()

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

CreateDbBatchCommand()

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

Dispose()

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

ExecuteDbDataReader(CommandBehavior)

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

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

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

Этот метод принимает токен отмены, который может использоваться для запроса ранней отмены операции.

ExecuteNonQuery()

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

ExecuteNonQueryAsync(CancellationToken)

Это асинхронная версия метода ExecuteNonQuery().

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

Не вызывайте другие методы и свойства объекта DbCommand до тех пор, пока возвращаемая задача не будет завершена.

ExecuteReader()

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

ExecuteReaderAsync(CancellationToken)

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

ExecuteScalar()

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

ExecuteScalarAsync(CancellationToken)

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

Prepare()

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

PrepareAsync(CancellationToken)

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

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