Idioma

SqlBatch Classe

Definição

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
Herança
SqlBatch
Herança
SqlBatch
Implementações

Exemplos

O exemplo a seguir cria um SqlConnection e um SqlBatch, em seguida, adiciona vários SqlBatchCommand objetos ao lote. Em seguida, ele executa o lote, criando um SqlDataReader. O exemplo lê os resultados dos comandos do lote, gravando-os no console. Por fim, o exemplo fecha eSqlDataReader, em seguida, os usingSqlConnection blocos ficam fora do escopo.

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

O exemplo a seguir cria um SqlConnection e um SqlBatch, em seguida, adiciona vários SqlBatchCommand objetos ao lote. Em seguida, ele executa o lote, criando um SqlDataReader. O exemplo lê os resultados dos comandos do lote, gravando-os no console. Por fim, o exemplo fecha eSqlDataReader, em seguida, os usingSqlConnection blocos ficam fora do escopo.

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

Construtores

Nome Description
SqlBatch()

Inicializa um novo SqlBatch.

SqlBatch(SqlConnection, SqlTransaction)

Inicializa um novo SqlBatch.

Propriedades

Nome Description
BatchCommands

A lista de comandos contidos no lote em um SqlBatchCommandCollection.

Commands

A lista de SqlBatchCommand contidos no lote em um List<T>.

Connection

Obtém ou define o SqlConnection usado por esta instância do SqlBatch.

DbBatchCommands

Obtém a coleção de SqlBatchCommand objetos.

DbConnection

Obtém ou define o DbConnection usado por isso SqlBatch.

DbTransaction

Obtém ou define o SqlTransaction interior no qual este SqlBatch objeto é executado.

Timeout

Obtém ou define o tempo de espera (em segundos) antes de encerrar a tentativa de executar o lote e gerar um erro.

Transaction

Obtém ou define o SqlTransaction interior no qual os SqlBatch comandos são executados.

Métodos

Nome Description
Cancel()

Tenta cancelar a execução de um SqlBatch.

CreateDbBatchCommand()

Cria uma nova instância de um SqlBatchCommand objeto.

Dispose()

Executa tarefas definidas pelo aplicativo associadas à liberação, liberação ou redefinição de recursos não gerenciados.

DisposeAsync()

Executa tarefas definidas pelo aplicativo associadas à liberação, liberação ou redefinição de recursos não gerenciados de forma assíncrona.

ExecuteDbDataReader(CommandBehavior)

Executa o lote em relação à sua conexão, retornando um SqlDataReader que pode ser usado para acessar os resultados.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Essa implementação invoca o ExecuteReaderAsync() método e retorna uma tarefa concluída. A implementação padrão retornará uma tarefa cancelada se passar um token de cancelamento já cancelado. Esse método aceita um token de cancelamento que pode ser usado para solicitar que a operação seja cancelada antecipadamente.

ExecuteNonQuery()

Executa o lote em relação ao objeto de conexão, retornando o número total de linhas afetadas em todos os comandos do lote.

ExecuteNonQueryAsync(CancellationToken)

Esta é a versão assíncrona de ExecuteNonQuery(). A implementação invoca o ExecuteNonQueryAsync(CancellationToken) método e retorna uma tarefa concluída. A implementação padrão retornará uma tarefa cancelada se passar um token de cancelamento já cancelado. Não invoque outros métodos e propriedades do DbCommand objeto até que a Tarefa retornada seja concluída.

ExecuteReader()

Envia o Commands para o Connection e cria um SqlDataReader.

ExecuteReader(CommandBehavior)

Envia o Commands para o Connection e cria um SqlDataReader.

ExecuteReaderAsync(CancellationToken)

Uma versão assíncrona de ExecuteReader(), que envia o Commands para o Connection e cria um SqlDataReader. As exceções serão relatadas por meio do objeto Task retornado.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Uma versão assíncrona de ExecuteReader(), que envia o Commands para o Connection e cria um SqlDataReader. As exceções serão relatadas por meio do objeto Task retornado.

ExecuteScalar()

Executa o lote e retorna a primeira coluna da primeira linha no primeiro conjunto de resultados retornado. Todas as outras colunas, linhas e conjuntos de resultados são ignorados.

ExecuteScalarAsync(CancellationToken)

Uma versão assíncrona de ExecuteScalar(), que executa o lote e retorna a primeira coluna da primeira linha no primeiro conjunto de resultados retornado. Todas as outras colunas, linhas e conjuntos de resultados são ignorados.

Prepare()

Cria uma versão preparada (ou compilada) do lote, ou de cada um de seus comandos, na fonte de dados.

PrepareAsync(CancellationToken)

Cria de forma assíncrona uma versão preparada (ou compilada) do lote, ou de cada um de seus comandos, na fonte de dados.

Aplica-se a