Compartilhar via


SqlBatch Classe

Definição

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

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 o SqlDataReader e, em seguida, o SqlConnection como os using blocos caem 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();

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

Construtores

SqlBatch()

Inicializa um novo SqlBatch.

SqlBatch(SqlConnection, SqlTransaction)

Inicializa um novo SqlBatch.

Propriedades

BatchCommands

A lista de comandos contidos no lote em um SqlBatchCommandCollection.

Commands

A lista de comandos contidos no lote em um IList dos SqlBatchCommand objetos.

Connection

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

DbBatchCommands

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

DbConnection

Obtém ou define o DbConnection usado pelo SqlBatch.

DbTransaction

Obtém ou define o SqlBatch em que este objeto SqlTransaction é 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 dentro do SqlTransaction qual os SqlBatch comandos são executados.

Métodos

Cancel()

Tenta cancelar a execução de um SqlBatch.

CreateDbBatchCommand()

Cria uma nova instância de um objeto SqlBatchCommand.

Dispose()

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

ExecuteDbDataReader(CommandBehavior)

Executa o lote em 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 já tiver passado um token de cancelamento.

Esse método aceita um token de cancelamento que pode ser usado para solicitar a operação a ser cancelada no início.

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)

Essa é 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 já tiver passado um token de cancelamento.

Não invoque outros métodos e propriedades do objeto DbCommand até a Tarefa retornada ser concluída.

ExecuteReader()

Envia o Commands para o Connection e cria um SqlDataReader .

ExecuteReaderAsync(CancellationToken)

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

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 do 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