Sprache

SqlBatch Klasse

Definition

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
Vererbung
SqlBatch
Vererbung
SqlBatch
Implementiert

Beispiele

Im folgenden Beispiel wird ein SqlConnection und ein SqlBatch, anschließend werden dem Batch mehrere SqlBatchCommand Objekte hinzugefügt. Anschließend wird der Batch ausgeführt, wodurch ein SqlDataReader. Im Beispiel werden die Ergebnisse der Batchbefehle gelesen und in die Konsole geschrieben. Schließlich wird das Beispiel geschlossen SqlDataReader und dann geschlossen SqlConnection , wenn die using Blöcke aus dem Bereich fallen.

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

Im folgenden Beispiel wird ein SqlConnection und ein SqlBatch, anschließend werden dem Batch mehrere SqlBatchCommand Objekte hinzugefügt. Anschließend wird der Batch ausgeführt, wodurch ein SqlDataReader. Im Beispiel werden die Ergebnisse der Batchbefehle gelesen und in die Konsole geschrieben. Schließlich wird das Beispiel geschlossen SqlDataReader und dann geschlossen SqlConnection , wenn die using Blöcke aus dem Bereich fallen.

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

Konstruktoren

Name Beschreibung
SqlBatch()

Initialisiert ein neues SqlBatch.

SqlBatch(SqlConnection, SqlTransaction)

Initialisiert ein neues SqlBatch.

Eigenschaften

Name Beschreibung
BatchCommands

Die Liste der Befehle, die im Batch in einem SqlBatchCommandCollection.

Commands

Die Liste der SqlBatchCommand im Batch enthaltenen In einem List<T>.

Connection

Dient zum Abrufen oder Festlegen der SqlConnection von dieser Instanz der SqlBatch.

DbBatchCommands

Ruft die Sammlung von SqlBatchCommand Objekten ab.

DbConnection

Dient zum Abrufen oder Festlegen der DbConnection von diesem SqlBatchverwendeten .

DbTransaction

Dient zum Abrufen oder Festlegen des SqlTransaction Objekts, in dem dieses SqlBatch Objekt ausgeführt wird.

Timeout

Ruft die Wartezeit (in Sekunden) ab, bevor der Versuch beendet wird, den Batch auszuführen und einen Fehler zu generieren, oder legt diese fest.

Transaction

Dient zum Abrufen oder Festlegen der SqlTransaction Befehle, in denen die SqlBatch Befehle ausgeführt werden.

Methoden

Name Beschreibung
Cancel()

Versucht, die Ausführung einer .SqlBatch

CreateDbBatchCommand()

Erstellt eine neue Instance eines SqlBatchCommand Objekts.

Dispose()

Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen verknüpft sind.

DisposeAsync()

Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen asynchron verknüpft sind.

ExecuteDbDataReader(CommandBehavior)

Führt den Batch mit seiner Verbindung aus, wodurch ein SqlDataReader Batch zurückgegeben wird, der für den Zugriff auf die Ergebnisse verwendet werden kann.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Diese Implementierung ruft die ExecuteReaderAsync() Methode auf und gibt eine abgeschlossene Aufgabe zurück. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn ein bereits abgebrochenes Abbruchtoken übergeben wurde. Diese Methode akzeptiert ein Abbruchtoken, mit dem der Vorgang frühzeitig abgebrochen werden kann.

ExecuteNonQuery()

Führt den Batch mit seinem Verbindungsobjekt aus, wobei die Gesamtanzahl der Zeilen zurückgegeben wird, die für alle Batchbefehle betroffen sind.

ExecuteNonQueryAsync(CancellationToken)

Dies ist die asynchrone Version von ExecuteNonQuery(). Die Implementierung ruft die ExecuteNonQueryAsync(CancellationToken) Methode auf und gibt eine abgeschlossene Aufgabe zurück. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn ein bereits abgebrochenes Abbruchtoken übergeben wurde. Rufen Sie erst andere Methoden und Eigenschaften des DbCommand Objekts auf, wenn die zurückgegebene Aufgabe abgeschlossen ist.

ExecuteReader()

Sendet die Commands an und Connection erstellt eine SqlDataReader.

ExecuteReader(CommandBehavior)

Sendet die Commands an und Connection erstellt eine SqlDataReader.

ExecuteReaderAsync(CancellationToken)

Eine asynchrone Version von ExecuteReader(), die die Commands an die Connection und erstellt eine SqlDataReader. Ausnahmen werden über das zurückgegebene Task-Objekt gemeldet.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Eine asynchrone Version von ExecuteReader(), die die Commands an die Connection und erstellt eine SqlDataReader. Ausnahmen werden über das zurückgegebene Task-Objekt gemeldet.

ExecuteScalar()

Führt den Batch aus und gibt die erste Spalte der ersten Zeile im ersten zurückgegebenen Resultset zurück. Alle anderen Spalten, Zeilen und Resultsets werden ignoriert.

ExecuteScalarAsync(CancellationToken)

Eine asynchrone Version von ExecuteScalar(), die den Batch ausführt und die erste Spalte der ersten Zeile im ersten zurückgegebenen Resultset zurückgibt. Alle anderen Spalten, Zeilen und Resultsets werden ignoriert.

Prepare()

Erstellt eine vorbereitete (oder kompilierte) Version des Batches oder jedes seiner Befehle in der Datenquelle.

PrepareAsync(CancellationToken)

Erstellt asynchron eine vorbereitete (oder kompilierte) Version des Batches oder jeder seiner Befehle in der Datenquelle.

Gilt für: