Lenguaje

SqlBatch Clase

Definición

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
Herencia
SqlBatch
Herencia
SqlBatch
Implementaciones

Ejemplos

En el ejemplo siguiente se crea un SqlConnection y , SqlBatchy, a continuación, se agregan varios SqlBatchCommand objetos al lote. A continuación, ejecuta el lote y crea un SqlDataReader. En el ejemplo se leen los resultados de los comandos por lotes y se escriben en la consola. Por último, el ejemplo cierra SqlDataReader y, a continuación, a SqlConnection medida que los using bloques quedan fuera del ámbito.

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

En el ejemplo siguiente se crea un SqlConnection y , SqlBatchy, a continuación, se agregan varios SqlBatchCommand objetos al lote. A continuación, ejecuta el lote y crea un SqlDataReader. En el ejemplo se leen los resultados de los comandos por lotes y se escriben en la consola. Por último, el ejemplo cierra SqlDataReader y, a continuación, a SqlConnection medida que los using bloques quedan fuera del ámbito.

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

Constructores

Nombre Description
SqlBatch()

Inicializa un nuevo SqlBatch.

SqlBatch(SqlConnection, SqlTransaction)

Inicializa un nuevo SqlBatch.

Propiedades

Nombre Description
BatchCommands

La lista de comandos contenidos en el lote en .SqlBatchCommandCollection

Commands

Lista de SqlBatchCommand contenido en el lote en un List<T>.

Connection

Obtiene o establece el SqlConnection objeto utilizado por esta instancia de .SqlBatch

DbBatchCommands

Obtiene la colección de SqlBatchCommand objetos.

DbConnection

Obtiene o establece el DbConnection objeto utilizado por este SqlBatchobjeto .

DbTransaction

Obtiene o establece el objeto en el SqlTransaction que se ejecuta este SqlBatch objeto.

Timeout

Obtiene o establece el tiempo de espera (en segundos) antes de finalizar el intento de ejecutar el lote y generar un error.

Transaction

Obtiene o establece el objeto en el SqlTransaction que se ejecutan los SqlBatch comandos.

Métodos

Nombre Description
Cancel()

Intenta cancelar la ejecución de .SqlBatch

CreateDbBatchCommand()

Crea una nueva instancia de un SqlBatchCommand objeto.

Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación, liberación o restablecimiento de recursos no administrados.

DisposeAsync()

Realiza tareas definidas por la aplicación asociadas a la liberación, liberación o restablecimiento de recursos no administrados de forma asincrónica.

ExecuteDbDataReader(CommandBehavior)

Ejecuta el lote en su conexión, devolviendo un SqlDataReader objeto que se puede usar para acceder a los resultados.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Esta implementación invoca el ExecuteReaderAsync() método y devuelve una tarea completada. La implementación predeterminada devolverá una tarea cancelada si se pasa un token de cancelación ya cancelado. Este método acepta un token de cancelación que se puede usar para solicitar la cancelación anticipada de la operación.

ExecuteNonQuery()

Ejecuta el lote en su objeto de conexión y devuelve el número total de filas afectadas en todos los comandos por lotes.

ExecuteNonQueryAsync(CancellationToken)

Esta es la versión asincrónica de ExecuteNonQuery(). La implementación invoca el ExecuteNonQueryAsync(CancellationToken) método y devuelve una tarea completada. La implementación predeterminada devolverá una tarea cancelada si se pasa un token de cancelación ya cancelado. No invoque otros métodos y propiedades del DbCommand objeto hasta que se complete la tarea devuelta.

ExecuteReader()

Commands Envía a Connection y compila un SqlDataReaderobjeto .

ExecuteReader(CommandBehavior)

Commands Envía a Connection y compila un SqlDataReaderobjeto .

ExecuteReaderAsync(CancellationToken)

Una versión asincrónica de ExecuteReader(), que envía Commands a Connection y compila un SqlDataReaderobjeto . Las excepciones se notificarán a través del objeto Task devuelto.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Una versión asincrónica de ExecuteReader(), que envía Commands a Connection y compila un SqlDataReaderobjeto . Las excepciones se notificarán a través del objeto Task devuelto.

ExecuteScalar()

Ejecuta el lote y devuelve la primera columna de la primera fila del primer conjunto de resultados devuelto. Se omiten todas las demás columnas, filas y conjuntos de resultados.

ExecuteScalarAsync(CancellationToken)

Una versión asincrónica de ExecuteScalar(), que ejecuta el lote y devuelve la primera columna de la primera fila del primer conjunto de resultados devuelto. Se omiten todas las demás columnas, filas y conjuntos de resultados.

Prepare()

Crea una versión preparada (o compilada) del lote, o de cada uno de sus comandos, en el origen de datos.

PrepareAsync(CancellationToken)

Crea de forma asincrónica una versión preparada (o compilada) del lote, o de cada uno de sus comandos, en el origen de datos.

Se aplica a