SqlBatch Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
| 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. |