Freigeben über


SqlBatch Klasse

Definition

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

Beispiele

Im folgenden Beispiel werden ein SqlConnection und ein SqlBatcherstellt. Anschließend werden dem Batch mehrere SqlBatchCommand Objekte hinzugefügt. Anschließend wird der Batch ausgeführt und ein SqlDataReadererstellt. Im Beispiel werden die Ergebnisse der Batchbefehle gelesen und in die Konsole geschrieben. Schließlich schließt das Beispiel den SqlDataReader und dann, als die SqlConnection Blöcke aus dem using 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();

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

Konstruktoren

SqlBatch()

Initialisiert eine neue SqlBatch.

SqlBatch(SqlConnection, SqlTransaction)

Initialisiert eine neue SqlBatch.

Eigenschaften

BatchCommands

Die Liste der Befehle, die im Batch in einem SqlBatchCommandCollectionenthalten sind.

Commands

Die Liste der Befehle, die im Batch in einem IList von SqlBatchCommand -Objekten enthalten sind.

Connection

Ruft die SqlConnection von diesem instance des ab oder legt diesen SqlBatch fest.

DbBatchCommands

Ruft die Auflistung von SqlBatchCommand-Objekten ab.

DbConnection

Ruft die von diesem DbConnection verwendete SqlBatch ab oder legt diese fest.

DbTransaction

Ruft die SqlTransaction ab, in der dieses SqlBatch-Objekt ausgeführt wird, oder legt sie fest.

Timeout

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

Transaction

Ruft den ab, in dem SqlTransaction die Befehle ausgeführt werden, oder legt diesen SqlBatch fest.

Methoden

Cancel()

Versucht, die Ausführung eines SqlBatchabzubrechen.

CreateDbBatchCommand()

Erstellt eine neue Instanz eines SqlBatchCommand-Objekts.

Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

ExecuteDbDataReader(CommandBehavior)

Führt den Batch für seine Verbindung aus und gibt eine SqlDataReader zurück, die 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 sie einen bereits abgebrochenen Abbruchtoken erhalten hat.

Diese Methode nimmt ein Abbruchtoken an, das verwendet werden kann, um ein frühes Abbrechen des Vorgangs anzufordern.

ExecuteNonQuery()

Führt den Batch für sein Verbindungsobjekt aus, und gibt die Gesamtzahl der betroffenen Zeilen für alle Batchbefehle zurück.

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 sie einen bereits abgebrochenen Abbruchtoken erhalten hat.

Rufen Sie keine anderen Methoden und Eigenschaften des DbCommand-Objekts auf, bis die zurückgegebene Aufgabe abgeschlossen ist.

ExecuteReader()

Sendet die Commands an die Connection und erstellt ein SqlDataReader .

ExecuteReaderAsync(CancellationToken)

Eine asynchrone Version von ExecuteReader() , die an die ConnectionCommands sendet und eine SqlDataReadererstellt. Ausnahmen werden über das zurückgegebene Aufgabenobjekt 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 der einzelnen Befehle für die Datenquelle.

PrepareAsync(CancellationToken)

Erstellt asynchron eine vorbereitete (oder kompilierte) Version des Batches oder der einzelnen Befehle für die Datenquelle.

Gilt für: