Sprache

SqlBatch.ExecuteReader Methode

Definition

Überlädt

Name Beschreibung
ExecuteReader()

Sendet die Commands an und Connection erstellt eine SqlDataReader.

ExecuteReader(CommandBehavior)

Sendet die Commands an und Connection erstellt eine SqlDataReader.

ExecuteReader()

Quelle:
SqlBatch.cs

Sendet die Commands an und Connection erstellt eine SqlDataReader.

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

Gibt zurück

Beispiele

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

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

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

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

Gilt für:

ExecuteReader(CommandBehavior)

Sendet die Commands an und Connection erstellt eine SqlDataReader.

public:
 Microsoft::Data::SqlClient::SqlDataReader ^ ExecuteReader(System::Data::CommandBehavior behavior);
public Microsoft.Data.SqlClient.SqlDataReader ExecuteReader(System.Data.CommandBehavior behavior);
member this.ExecuteReader : System.Data.CommandBehavior -> Microsoft.Data.SqlClient.SqlDataReader
override this.ExecuteReader : System.Data.CommandBehavior -> Microsoft.Data.SqlClient.SqlDataReader
Public Function ExecuteReader (behavior As CommandBehavior) As SqlDataReader

Parameter

behavior
CommandBehavior

Eine Instanz von CommandBehavior, die Optionen für die Batchausführung und den Datenabruf angibt. Nur SequentialAccess und CloseConnection werden auf Batchebene unterstützt.

Gibt zurück

Beispiele

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

        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(CommandBehavior.CloseConnection))
        {
            do
            {
                while (reader.Read())
                {
                    results.Add(reader.GetFieldValue<int>(0));
                }
            } while (reader.NextResult());
        }
        Console.WriteLine(string.Join(", ", results));
    }
}

Gilt für: