Jazyk

SqlBatch Třída

Definice

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
Dědičnost
SqlBatch
Dědičnost
SqlBatch
Implementuje

Příklady

Následující příklad vytvoří SqlConnection a a SqlBatcha pak přidá více SqlBatchCommand objektů do dávky. Potom provede dávku a vytvoří SqlDataReader. Příklad čte výsledky dávkových příkazů a zapisuje je do konzoly. Nakonec příklad zavře a SqlDataReader pak SqlConnection , jak using bloky spadají do rozsahu.

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

Následující příklad vytvoří SqlConnection a a SqlBatcha pak přidá více SqlBatchCommand objektů do dávky. Potom provede dávku a vytvoří SqlDataReader. Příklad čte výsledky dávkových příkazů a zapisuje je do konzoly. Nakonec příklad zavře a SqlDataReader pak SqlConnection , jak using bloky spadají do rozsahu.

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

Konstruktory

Název Description
SqlBatch()

Inicializuje nový SqlBatch.

SqlBatch(SqlConnection, SqlTransaction)

Inicializuje nový SqlBatch.

Vlastnosti

Název Description
BatchCommands

Seznam příkazů obsažených v dávce v souboru SqlBatchCommandCollection.

Commands

Seznam SqlBatchCommand obsažených v dávce v List<T>souboru .

Connection

Získá nebo nastaví SqlConnection používané touto instancí SqlBatch.

DbBatchCommands

Získá kolekci SqlBatchCommand objektů.

DbConnection

Získá nebo nastaví DbConnection používané tímto SqlBatch.

DbTransaction

Získá nebo nastaví, SqlTransaction ve kterém se tento SqlBatch objekt spustí.

Timeout

Získá nebo nastaví dobu čekání (v sekundách) před ukončením pokusu o spuštění dávky a generování chyby.

Transaction

Získá nebo nastaví, SqlTransaction ve kterém příkazy SqlBatch spouští.

Metody

Název Description
Cancel()

Pokusí se zrušit spuštění příkazu SqlBatch.

CreateDbBatchCommand()

Vytvoří novou instanci objektu SqlBatchCommand .

Dispose()

Provádí úlohy definované aplikací související s uvolněním, uvolněním nebo resetováním nespravovaných prostředků.

DisposeAsync()

Provádí úlohy definované aplikací přidružené k uvolnění, uvolnění nebo resetování nespravovaných prostředků asynchronně.

ExecuteDbDataReader(CommandBehavior)

Provede dávku proti jeho připojení a vrátí SqlDataReader ji, která se dá použít pro přístup k výsledkům.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Tato implementace vyvolá metodu ExecuteReaderAsync() a vrátí dokončenou úlohu. Výchozí implementace vrátí zrušený úkol, pokud už byl zrušený token zrušení. Tato metoda přijímá token zrušení, který lze použít k vyžádání operace, aby byla zrušena dříve.

ExecuteNonQuery()

Provede dávku proti objektu připojení a vrátí celkový počet řádků ovlivněných všemi příkazy dávky.

ExecuteNonQueryAsync(CancellationToken)

Toto je asynchronní verze ExecuteNonQuery(). Implementace vyvolá metodu ExecuteNonQueryAsync(CancellationToken) a vrátí dokončenou úlohu. Výchozí implementace vrátí zrušený úkol, pokud už byl zrušený token zrušení. Nevyvolejte jiné metody a vlastnosti objektu DbCommand , dokud nebude vrácena úloha dokončena.

ExecuteReader()

Commands Odešle zprávu a Connection vytvoří .SqlDataReader

ExecuteReader(CommandBehavior)

Commands Odešle zprávu a Connection vytvoří .SqlDataReader

ExecuteReaderAsync(CancellationToken)

Asynchronní verze ExecuteReader(), která odešle Commands do Connection a vytvoří SqlDataReader. Výjimky budou hlášeny prostřednictvím vráceného objektu Task.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Asynchronní verze ExecuteReader(), která odešle Commands do Connection a vytvoří SqlDataReader. Výjimky budou hlášeny prostřednictvím vráceného objektu Task.

ExecuteScalar()

Provede dávku a vrátí první sloupec prvního řádku v první vrácené sadě výsledků. Všechny ostatní sloupce, řádky a sady výsledků se ignorují.

ExecuteScalarAsync(CancellationToken)

Asynchronní verze ExecuteScalar(), která spustí dávku a vrátí první sloupec prvního řádku v první vrácené sadě výsledků. Všechny ostatní sloupce, řádky a sady výsledků se ignorují.

Prepare()

Vytvoří připravenou (nebo zkompilovanou) verzi dávky nebo každého z jejích příkazů ve zdroji dat.

PrepareAsync(CancellationToken)

Asynchronně vytvoří připravenou (nebo zkompilovanou) verzi dávky nebo každého z jejích příkazů ve zdroji dat.

Platí pro