Dil

SqlBatch Sınıf

Tanım

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
Devralma
SqlBatch
Devralma
SqlBatch
Uygulamalar

Örnekler

Aşağıdaki örnek bir SqlConnection ve oluşturur ve SqlBatchardından toplu işe birden çok SqlBatchCommand nesne ekler. Ardından toplu işlemi yürüterek bir SqlDataReaderoluşturur. Örnek, toplu iş komutlarının sonuçlarını okuyup konsola yazar. Son olarak, bloklar SqlDataReader kapsamın dışına çıktığı için örnek ve SqlConnection öğesini using kapatır.

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

Aşağıdaki örnek bir SqlConnection ve oluşturur ve SqlBatchardından toplu işe birden çok SqlBatchCommand nesne ekler. Ardından toplu işlemi yürüterek bir SqlDataReaderoluşturur. Örnek, toplu iş komutlarının sonuçlarını okuyup konsola yazar. Son olarak, bloklar SqlDataReader kapsamın dışına çıktığı için örnek ve SqlConnection öğesini using kapatır.

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

Oluşturucular

Veri Akışı Adı Description
SqlBatch()

Yeni SqlBatchbir başlatır.

SqlBatch(SqlConnection, SqlTransaction)

Yeni SqlBatchbir başlatır.

Özellikler

Veri Akışı Adı Description
BatchCommands

bir içindeki toplu işlemde SqlBatchCommandCollectionyer alan komutların listesi.

Commands

Bir içindeki toplu işlemde List<T>yer alan listesiSqlBatchCommand.

Connection

öğesinin SqlConnection bu örneği tarafından kullanılan öğesini SqlBatchalır veya ayarlar.

DbBatchCommands

Nesne koleksiyonunu SqlBatchCommand alır.

DbConnection

Bu DbConnectiontarafından kullanılan öğesini SqlBatch alır veya ayarlar.

DbTransaction

Bu SqlTransaction nesnenin SqlBatch yürütüldiği nesneyi alır veya ayarlar.

Timeout

Toplu işlemi yürütme girişimini sonlandırmadan ve bir hata oluşturmadan önce bekleme süresini (saniye cinsinden) alır veya ayarlar.

Transaction

Komutların SqlTransaction yürütüldiği SqlBatch komutu alır veya ayarlar.

Yöntemler

Veri Akışı Adı Description
Cancel()

Yürütmeyi SqlBatchiptal etmeye çalışır.

CreateDbBatchCommand()

Nesnenin yeni bir SqlBatchCommand örneğini oluşturur.

Dispose()

Yönetilmeyen kaynakları serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı görevleri gerçekleştirir.

DisposeAsync()

Yönetilmeyen kaynakları zaman uyumsuz olarak serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı görevleri gerçekleştirir.

ExecuteDbDataReader(CommandBehavior)

Toplu işlemi bağlantısına göre yürütür ve sonuçlara erişmek için kullanılabilecek bir SqlDataReader döndürür.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Bu uygulama yöntemini çağırır ExecuteReaderAsync() ve tamamlanmış bir görev döndürür. Varsayılan uygulama, zaten iptal edilmiş bir iptal belirteci geçirilirse iptal edilmiş bir görev döndürür. Bu yöntem, işlemin erken iptalini istemek için kullanılabilecek bir iptal belirteci kabul eder.

ExecuteNonQuery()

Toplu işlemi bağlantı nesnesine karşı yürütür ve tüm toplu iş komutlarında etkilenen toplam satır sayısını döndürür.

ExecuteNonQueryAsync(CancellationToken)

Bu, zaman uyumsuz sürümüdür ExecuteNonQuery(). Uygulama yöntemini çağırır ExecuteNonQueryAsync(CancellationToken) ve tamamlanmış bir görev döndürür. Varsayılan uygulama, zaten iptal edilmiş bir iptal belirteci geçirilirse iptal edilmiş bir görev döndürür. Döndürülen Görev tamamlanana kadar nesnenin DbCommand diğer yöntemlerini ve özelliklerini çağırmayın.

ExecuteReader()

öğesine CommandsConnection gönderir ve bir SqlDataReaderoluşturur.

ExecuteReader(CommandBehavior)

öğesine CommandsConnection gönderir ve bir SqlDataReaderoluşturur.

ExecuteReaderAsync(CancellationToken)

öğesini adresine gönderen ExecuteReader()Commands ve bir oluşturan zaman uyumsuz sürümüConnectionSqlDataReader. Özel durumlar döndürülen Görev nesnesi aracılığıyla bildirilir.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

öğesini adresine gönderen ExecuteReader()Commands ve bir oluşturan zaman uyumsuz sürümüConnectionSqlDataReader. Özel durumlar döndürülen Görev nesnesi aracılığıyla bildirilir.

ExecuteScalar()

Toplu işlemi yürütür ve döndürülen ilk sonuç kümesindeki ilk satırın ilk sütununu döndürür. Diğer tüm sütunlar, satırlar ve sonuç kümeleri yoksayılır.

ExecuteScalarAsync(CancellationToken)

Toplu işlemi yürüten ve döndürülen ilk sonuç kümesindeki ilk satırın ilk sütununu döndüren zaman uyumsuz sürümü ExecuteScalar(). Diğer tüm sütunlar, satırlar ve sonuç kümeleri yoksayılır.

Prepare()

Veri kaynağında toplu iş veya komutlarının her birinin hazırlanmış (veya derlenmiş) bir sürümünü oluşturur.

PrepareAsync(CancellationToken)

Veri kaynağında toplu iş veya komutlarının her birinin hazırlanmış (veya derlenmiş) bir sürümünü zaman uyumsuz olarak oluşturur.

Şunlara uygulanır