Compartir a través de


SqlBatch Clase

Definición

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

Ejemplos

En el ejemplo siguiente se crea un SqlConnection objeto y y SqlBatch, a continuación, se agregan varios SqlBatchCommand objetos al lote. A continuación, ejecuta el lote y crea un SqlDataReaderobjeto . 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 están 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();

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

Constructores

SqlBatch()

Inicializa un nuevo objeto SqlBatch.

SqlBatch(SqlConnection, SqlTransaction)

Inicializa un nuevo objeto SqlBatch.

Propiedades

BatchCommands

Lista de comandos contenidos en el lote en .SqlBatchCommandCollection

Commands

Lista de comandos contenidos en el lote en un IList objeto de SqlBatchCommand .

Connection

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

DbBatchCommands

Obtiene la colección de objetos SqlBatchCommand.

DbConnection

Obtiene o establece el objeto DbConnection utilizado por este SqlBatch.

DbTransaction

Obtiene o establece SqlTransaction dentro del cual se ejecuta este objeto SqlBatch.

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 SqlTransaction objeto en el que se ejecutan los SqlBatch comandos.

Métodos

Cancel()

Intenta cancelar la ejecución de .SqlBatch

CreateDbBatchCommand()

Crea una nueva instancia de un objeto SqlBatchCommand.

Dispose()

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

ExecuteDbDataReader(CommandBehavior)

Ejecuta el lote en su conexión y devuelve 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 que la operación se cancele pronto.

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 objeto DbCommand hasta que se haya completado la tarea devuelta.

ExecuteReader()

Envía a CommandsConnection y compila un SqlDataReader objeto .

ExecuteReaderAsync(CancellationToken)

Una versión asincrónica de ExecuteReader() , que envía a CommandsConnection y compila un SqlDataReaderobjeto . Las excepciones se mostrará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. Todas las demás columnas, filas y conjuntos de resultados se omiten.

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. Todas las demás columnas, filas y conjuntos de resultados se omiten.

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