Język

SqlBatch Klasa

Definicja

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

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ą z zakresu.

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

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ą z zakresu.

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

Nazwisko Opis
SqlBatch()

Inicjuje nowy SqlBatchelement .

SqlBatch(SqlConnection, SqlTransaction)

Inicjuje nowy SqlBatchelement .

Właściwości

Nazwisko Opis
BatchCommands

Lista poleceń zawartych w partii w pliku SqlBatchCommandCollection.

Commands

Lista zawarta SqlBatchCommand w partii w obiekcie List<T>.

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 obiekt SqlTransaction , w którym jest wykonywany ten SqlBatch obiekt.

Timeout

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

Transaction

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

Metody

Nazwisko Opis
Cancel()

Próbuje anulować wykonanie obiektu SqlBatch.

CreateDbBatchCommand()

Tworzy nowe wystąpienie SqlBatchCommand obiektu.

Dispose()

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

DisposeAsync()

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

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.

ExecuteReader(CommandBehavior)

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

ExecuteReaderAsync(CancellationToken)

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

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Asynchroniczna wersja ExecuteReader()elementu , która wysyła Commands element do Connection elementu 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 programu 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