Sdílet prostřednictvím


SqlBatch Třída

Definice

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

Příklady

Následující příklad vytvoří SqlConnection a a SqlBatchpak přidá do dávky více SqlBatchCommand objektů. Potom dávku spustí a vytvoří SqlDataReader. Příklad přečte výsledky dávkových příkazů a zapíše je do konzoly nástroje . Nakonec příklad uzavře SqlDataReader a pak, protože SqlConnectionusing bloky spadají mimo rozsah.

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

Konstruktory

SqlBatch()

Inicializuje nový SqlBatch.

SqlBatch(SqlConnection, SqlTransaction)

Inicializuje nový SqlBatch.

Vlastnosti

BatchCommands

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

Commands

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

Connection

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

DbBatchCommands

Získá kolekci SqlBatchCommand objektů.

DbConnection

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

DbTransaction

Získá nebo nastaví, SqlTransaction v rámci kterého se tento SqlBatch objekt spustí.

Timeout

Získá nebo nastaví čekací dobu (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 v rámci kterého se SqlBatch příkazy spustí.

Metody

Cancel()

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

CreateDbBatchCommand()

Vytvoří novou instanci objektu SqlBatchCommand .

Dispose()

Provede aplikací definované úlohy spojené s uvolněním nebo resetováním nespravovaných prostředků.

ExecuteDbDataReader(CommandBehavior)

Spustí dávku proti svému připojení a vrátí , SqlDataReader který lze 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šenou úlohu, pokud je předán již zrušený token zrušení.

Tato metoda přijímá token zrušení, který lze použít k žádosti o předčasné zrušení operace.

ExecuteNonQuery()

Spustí dávku proti objektu připojení a vrátí celkový počet ovlivněných řádků ve všech dávkových příkazech.

ExecuteNonQueryAsync(CancellationToken)

Toto je asynchronní verze nástroje ExecuteNonQuery().

Implementace vyvolá metodu ExecuteNonQueryAsync(CancellationToken) a vrátí dokončenou úlohu. Výchozí implementace vrátí zrušenou úlohu, pokud je předán již zrušený token zrušení.

Nevyvolávej jiné metody a vlastnosti objektu DbCommand , dokud vrácená úloha není dokončena.

ExecuteReader()

Odešle do Commands a Connection vytvoří SqlDataReader .

ExecuteReaderAsync(CancellationToken)

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

ExecuteScalar()

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

ExecuteScalarAsync(CancellationToken)

Asynchronní verze nástroje 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