Share via


SqlBatch.BatchCommands Property

Definition

The list of commands contained in the batch in a SqlBatchCommandCollection.

public:
 property Microsoft::Data::SqlClient::SqlBatchCommandCollection ^ BatchCommands { Microsoft::Data::SqlClient::SqlBatchCommandCollection ^ get(); };
public Microsoft.Data.SqlClient.SqlBatchCommandCollection BatchCommands { get; }
member this.BatchCommands : Microsoft.Data.SqlClient.SqlBatchCommandCollection
Public ReadOnly Property BatchCommands As SqlBatchCommandCollection

Property Value

Examples

The following example creates a SqlConnection and a SqlBatch, then adds multiple SqlBatchCommand objects to the batch. It then executes the batch, creating a SqlDataReader. The example reads through the results of the batch commands, writing them to the console. Finally, the example closes the SqlDataReader and then the SqlConnection as the using blocks fall out of scope.

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

Applies to