Partager via


SqlBatch Classe

Définition

public ref class SqlBatch : System::Data::Common::DbBatch
public class SqlBatch : System.Data.Common.DbBatch
type SqlBatch = class
    inherit DbBatch
Public Class SqlBatch
Inherits DbBatch
Héritage
SqlBatch

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 de lot, en les écrivant dans la console. Enfin, l’exemple ferme le SqlDataReader , puis le SqlConnection à mesure que les using blocs tombent hors de portée.

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

Constructeurs

SqlBatch()

Initialise un nouveau SqlBatch.

SqlBatch(SqlConnection, SqlTransaction)

Initialise un nouveau SqlBatch.

Propriétés

BatchCommands

Liste des commandes contenues dans le lot dans un SqlBatchCommandCollection.

Commands

Liste des commandes contenues dans le lot dans un IList d’objets SqlBatchCommand .

Connection

Obtient ou définit le SqlConnection utilisé par cette instance du SqlBatch .

DbBatchCommands

Obtient la collection d'objets SqlBatchCommand.

DbConnection

Obtient ou définit l'objet DbConnection utilisé par cette classe SqlBatch.

DbTransaction

Obtient ou définit la SqlTransaction dans laquelle l’objet SqlBatch s’exécute.

Timeout

Obtient ou définit le temps d’attente (en secondes) avant de mettre fin à la tentative d’exécution du lot et de générer une erreur.

Transaction

Obtient ou définit le SqlTransaction dans lequel les commandes s’exécutent SqlBatch .

Méthodes

Cancel()

Tente d’annuler l’exécution d’un SqlBatch.

CreateDbBatchCommand()

Crée une nouvelle instance d'un objet SqlBatchCommand.

Dispose()

Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées.

ExecuteDbDataReader(CommandBehavior)

Exécute le lot sur sa connexion, en retournant un SqlDataReader qui peut être utilisé pour accéder aux résultats.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Cette implémentation appelle la ExecuteReaderAsync() méthode et retourne une tâche terminée. L'implémentation par défaut retourne une tâche annulée si un jeton d'annulation déjà annulé est passé.

Cette méthode accepte un jeton d'annulation qui peut être utilisé pour demander l'annulation de l'opération plus tôt que prévu.

ExecuteNonQuery()

Exécute le lot sur son objet de connexion, en retournant le nombre total de lignes affectées sur toutes les commandes de lot.

ExecuteNonQueryAsync(CancellationToken)

Il s'agit de la version asynchrone de ExecuteNonQuery().

L’implémentation appelle la ExecuteNonQueryAsync(CancellationToken) méthode et retourne une tâche terminée. L'implémentation par défaut retourne une tâche annulée si un jeton d'annulation déjà annulé est passé.

N'appelle pas d'autres méthodes et propriétés de l'objet DbCommand jusqu'à ce que la tâche retournée soit terminée.

ExecuteReader()

Envoie à Commands et Connection génère un SqlDataReader .

ExecuteReaderAsync(CancellationToken)

Une version asynchrone de ExecuteReader() , qui envoie le Commands à et Connection génère un SqlDataReader. Les exceptions seront signalées via l’objet Task retourné.

ExecuteScalar()

Exécute le lot et retourne la première colonne de la première ligne du premier jeu de résultats retourné. Toutes les autres colonnes, lignes et jeux de résultats sont ignorés.

ExecuteScalarAsync(CancellationToken)

Version asynchrone de ExecuteScalar(), qui exécute le lot et retourne la première colonne de la première ligne du premier jeu de résultats retourné. Toutes les autres colonnes, lignes et jeux de résultats sont ignorés.

Prepare()

Crée une version préparée (ou compilée) du lot, ou de chacune de ses commandes, sur la source de données.

PrepareAsync(CancellationToken)

Crée de manière asynchrone une version préparée (ou compilée) du lot, ou de chacune de ses commandes, sur la source de données.

S’applique à