Aracılığıyla paylaş


SqlBatch.ExecuteReader Yöntem

Tanım

öğesine CommandsConnection gönderir ve bir SqlDataReader oluşturur.

public:
 Microsoft::Data::SqlClient::SqlDataReader ^ ExecuteReader();
public Microsoft.Data.SqlClient.SqlDataReader ExecuteReader ();
override this.ExecuteReader : unit -> Microsoft.Data.SqlClient.SqlDataReader
Public Function ExecuteReader () As SqlDataReader

Döndürülenler

Örnekler

Aşağıdaki örnek, bir SqlConnection ve oluşturur ve SqlBatchardından toplu iş için 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 örnek, bloklar SqlDataReader kapsam dışında kalırken ve SqlConnection sonra using öğesini 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();

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

Şunlara uygulanır