Udostępnij za pośrednictwem


SqlBatch Klasa

Definicja

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

Przykłady

Poniższy przykład tworzy obiekt SqlConnection i , SqlBatcha następnie dodaje wiele SqlBatchCommand obiektów do partii. Następnie wykonuje partię, tworząc element SqlDataReader. Przykład odczytuje wyniki poleceń wsadowych, zapisuj je w konsoli. Na koniec przykład zamyka element SqlDataReader , a następnie SqlConnectionusing bloki wypadają poza zakres.

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()

Inicjuje nowy SqlBatchelement .

SqlBatch(SqlConnection, SqlTransaction)

Inicjuje nowy SqlBatchelement .

Właściwości

BatchCommands

Lista poleceń zawartych w partii w elemecie SqlBatchCommandCollection.

Commands

Lista poleceń zawartych w partii w IListSqlBatchCommand obiektach.

Connection

Pobiera lub ustawia SqlConnection wartość używaną przez to wystąpienie klasy SqlBatch .

DbBatchCommands

Pobiera kolekcję SqlBatchCommand obiektów.

DbConnection

Pobiera lub ustawia wartość używaną DbConnection przez ten SqlBatchelement .

DbTransaction

Pobiera lub ustawia SqlTransaction obiekt, w którym jest wykonywany ten SqlBatch obiekt.

Timeout

Pobiera lub ustawia czas oczekiwania (w sekundach) przed zakończeniem próby wykonania partii i wygenerowaniu błędu.

Transaction

Pobiera lub ustawia SqlTransaction polecenie, w którym SqlBatch są wykonywane polecenia.

Metody

Cancel()

Próbuje anulować wykonanie elementu SqlBatch.

CreateDbBatchCommand()

Tworzy nowe wystąpienie SqlBatchCommand obiektu.

Dispose()

Wykonuje zdefiniowane przez aplikację zadania skojarzone ze zwalnianiem lub resetowaniem zasobów niezarządzanych.

ExecuteDbDataReader(CommandBehavior)

Wykonuje partię względem połączenia, zwracając element SqlDataReader , który może służyć do uzyskiwania dostępu do wyników.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Ta implementacja wywołuje metodę ExecuteReaderAsync() i zwraca ukończone zadanie. Domyślna implementacja zwróci anulowane zadanie, jeśli przekazano już anulowany token anulowania.

Ta metoda akceptuje token anulowania, który może służyć do żądania wcześniejszego anulowania operacji.

ExecuteNonQuery()

Wykonuje partię względem obiektu połączenia, zwracając całkowitą liczbę wierszy, których dotyczy problem we wszystkich poleceniach wsadowych.

ExecuteNonQueryAsync(CancellationToken)

Jest to asynchroniczna wersja programu ExecuteNonQuery().

Implementacja wywołuje metodę ExecuteNonQueryAsync(CancellationToken) i zwraca ukończone zadanie. Domyślna implementacja zwróci anulowane zadanie, jeśli przekazano już anulowany token anulowania.

Nie należy wywoływać innych metod i właściwości DbCommand obiektu, dopóki zwrócone zadanie nie zostanie ukończone.

ExecuteReader()

Wysyła element Commands do pliku Connection i tworzy element SqlDataReader .

ExecuteReaderAsync(CancellationToken)

Asynchroniczna wersja elementu ExecuteReader() , która wysyła element Commands do elementu Connection i tworzy element SqlDataReader. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania.

ExecuteScalar()

Wykonuje partię i zwraca pierwszą kolumnę pierwszego wiersza w pierwszym zwróconym zestawie wyników. Wszystkie inne kolumny, wiersze i zestawy wyników są ignorowane.

ExecuteScalarAsync(CancellationToken)

Asynchroniczna wersja elementu ExecuteScalar(), która wykonuje partię i zwraca pierwszą kolumnę pierwszego wiersza w pierwszym zwróconym zestawie wyników. Wszystkie inne kolumny, wiersze i zestawy wyników są ignorowane.

Prepare()

Tworzy przygotowaną (lub skompilowana) wersję partii lub każdego z jego poleceń w źródle danych.

PrepareAsync(CancellationToken)

Asynchronicznie tworzy przygotowaną (lub skompilowana) wersję partii lub każdego z jego poleceń w źródle danych.

Dotyczy