Langue

SqlBatch Classe

Définition

public ref class SqlBatch : IAsyncDisposable, IDisposable
public ref class SqlBatch : System::Data::Common::DbBatch
public class SqlBatch : IAsyncDisposable, IDisposable
public class SqlBatch : System.Data.Common.DbBatch
type SqlBatch = class
    interface IDisposable
    interface IAsyncDisposable
type SqlBatch = class
    inherit DbBatch
Public Class SqlBatch
Implements IAsyncDisposable, IDisposable
Public Class SqlBatch
Inherits DbBatch
Héritage
SqlBatch
Héritage
SqlBatch
Implémente

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 par lots, en les écrivant dans la console. Enfin, l’exemple ferme l’étendueSqlDataReader, puis les usingSqlConnection 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();

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

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 par lots, en les écrivant dans la console. Enfin, l’exemple ferme l’étendueSqlDataReader, puis les usingSqlConnection 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();

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

Constructeurs

Nom Description
SqlBatch()

Initialise un nouveau SqlBatch.

SqlBatch(SqlConnection, SqlTransaction)

Initialise un nouveau SqlBatch.

Propriétés

Nom Description
BatchCommands

Liste des commandes contenues dans le lot dans un SqlBatchCommandCollection.

Commands

Liste des éléments SqlBatchCommand contenus dans le lot dans un List<T>.

Connection

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

DbBatchCommands

Obtient la collection d’objets SqlBatchCommand .

DbConnection

Obtient ou définit l’utilisé DbConnection par ce SqlBatch.

DbTransaction

Obtient ou définit l’objet SqlTransaction dans lequel cet SqlBatch objet s’exécute.

Timeout

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

Transaction

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

Méthodes

Nom Description
Cancel()

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

CreateDbBatchCommand()

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

Dispose()

Effectue des tâches définies par l’application associées à la libération, à la libération ou à la réinitialisation des ressources non managées.

DisposeAsync()

Effectue des tâches définies par l’application associées à la libération, à la libération ou à la réinitialisation asynchrone des ressources non managées.

ExecuteDbDataReader(CommandBehavior)

Exécute le lot par rapport à sa connexion, en retournant un SqlDataReader élément 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 elle a passé un jeton d’annulation déjà annulé. Cette méthode accepte un jeton d’annulation qui peut être utilisé pour demander l’annulation anticipée de l’opération.

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 elle a passé un jeton d’annulation déjà annulé. N’appelez pas d’autres méthodes et propriétés de l’objet DbCommand tant que la tâche retournée n’est pas terminée.

ExecuteReader()

Envoie le Commands fichier à l’objet Connection et génère un SqlDataReader.

ExecuteReader(CommandBehavior)

Envoie le Commands fichier à l’objet Connection et génère un SqlDataReader.

ExecuteReaderAsync(CancellationToken)

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

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Version asynchrone de ExecuteReader(), qui envoie le Commands vers le Connection et génère un SqlDataReader. Les exceptions sont 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 dans le 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 façon 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 à