SqlBatch.BatchCommands Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Liste des commandes contenues dans le lot dans un 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
Valeur de propriété
Exemples
L’exemple suivant crée un SqlConnection et un SqlBatch, puis ajoute plusieurs SqlBatchCommand objets au lot. Il exécute ensuite le lot, en créant un SqlDataReader. L’exemple lit les résultats des commandes batch et les écrit dans la console. Enfin, l’exemple ferme le SqlDataReader puis le SqlConnection lorsque les using
blocs tombent en dehors de l’étendue.
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));
}
}