Lingua

SqlBatch Classe

Definizione

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
Ereditarietà
SqlBatch
Ereditarietà
SqlBatch
Implementazioni

Esempio

Nell'esempio seguente viene creato un SqlConnection oggetto e un SqlBatchoggetto , quindi vengono aggiunti più SqlBatchCommand oggetti al batch. Esegue quindi il batch, creando un oggetto SqlDataReader. L'esempio legge i risultati dei comandi batch, scrivendoli nella console. Infine, l'esempio chiude SqlDataReader e quindi quando SqlConnection i using blocchi non rientrano nell'ambito.

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

Nell'esempio seguente viene creato un SqlConnection oggetto e un SqlBatchoggetto , quindi vengono aggiunti più SqlBatchCommand oggetti al batch. Esegue quindi il batch, creando un oggetto SqlDataReader. L'esempio legge i risultati dei comandi batch, scrivendoli nella console. Infine, l'esempio chiude SqlDataReader e quindi quando SqlConnection i using blocchi non rientrano nell'ambito.

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

Costruttori

Nome Descrizione
SqlBatch()

Inizializza un nuovo SqlBatchoggetto .

SqlBatch(SqlConnection, SqlTransaction)

Inizializza un nuovo SqlBatchoggetto .

Proprietà

Nome Descrizione
BatchCommands

Elenco di comandi contenuti nel batch in un oggetto SqlBatchCommandCollection.

Commands

Elenco di SqlBatchCommand contenuto nel batch in un oggetto List<T>.

Connection

Ottiene o imposta l'oggetto SqlConnection utilizzato da questa istanza di SqlBatch.

DbBatchCommands

Ottiene la raccolta di SqlBatchCommand oggetti .

DbConnection

Ottiene o imposta l'oggetto DbConnection utilizzato da questo SqlBatchoggetto .

DbTransaction

Ottiene o imposta l'oggetto all'interno del quale viene eseguito l'oggetto SqlTransactionSqlBatch .

Timeout

Ottiene o imposta il tempo di attesa , espresso in secondi, prima di terminare il tentativo di eseguire il batch e generare un errore.

Transaction

Ottiene o imposta l'oggetto all'interno del SqlTransaction quale vengono eseguiti i SqlBatch comandi.

Metodi

Nome Descrizione
Cancel()

Tenta di annullare l'esecuzione di un oggetto SqlBatch.

CreateDbBatchCommand()

Crea una nuova istanza di un SqlBatchCommand oggetto .

Dispose()

Esegue attività definite dall'applicazione associate alla liberazione, al rilascio o alla reimpostazione di risorse non gestite.

DisposeAsync()

Esegue attività definite dall'applicazione associate alla liberazione, al rilascio o alla reimpostazione asincrona delle risorse non gestite.

ExecuteDbDataReader(CommandBehavior)

Esegue il batch sulla connessione, restituendo un oggetto SqlDataReader che può essere usato per accedere ai risultati.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Questa implementazione richiama il ExecuteReaderAsync() metodo e restituisce un'attività completata. L'implementazione predefinita restituirà un'attività annullata se è stato passato un token di annullamento già annullato. Questo metodo accetta un token di annullamento che può essere usato per richiedere l'annullamento anticipato dell'operazione.

ExecuteNonQuery()

Esegue il batch sul relativo oggetto connessione, restituendo il numero totale di righe interessate in tutti i comandi batch.

ExecuteNonQueryAsync(CancellationToken)

Si tratta della versione asincrona di ExecuteNonQuery(). L'implementazione richiama il ExecuteNonQueryAsync(CancellationToken) metodo e restituisce un'attività completata. L'implementazione predefinita restituirà un'attività annullata se è stato passato un token di annullamento già annullato. Non richiamare altri metodi e proprietà dell'oggetto DbCommand fino al completamento dell'attività restituita.

ExecuteReader()

Invia all'oggetto CommandsConnection e compila un oggetto SqlDataReader.

ExecuteReader(CommandBehavior)

Invia all'oggetto CommandsConnection e compila un oggetto SqlDataReader.

ExecuteReaderAsync(CancellationToken)

Versione asincrona di ExecuteReader(), che invia all'oggetto CommandsConnection e compila un oggetto SqlDataReader. Le eccezioni verranno segnalate tramite l'oggetto Task restituito.

ExecuteReaderAsync(CommandBehavior, CancellationToken)

Versione asincrona di ExecuteReader(), che invia all'oggetto CommandsConnection e compila un oggetto SqlDataReader. Le eccezioni verranno segnalate tramite l'oggetto Task restituito.

ExecuteScalar()

Esegue il batch e restituisce la prima colonna della prima riga nel primo set di risultati restituito. Tutte le altre colonne, righe e set di risultati vengono ignorate.

ExecuteScalarAsync(CancellationToken)

Versione asincrona di ExecuteScalar(), che esegue il batch e restituisce la prima colonna della prima riga nel primo set di risultati restituito. Tutte le altre colonne, righe e set di risultati vengono ignorate.

Prepare()

Crea una versione preparata (o compilata) del batch o di ognuno dei relativi comandi nell'origine dati.

PrepareAsync(CancellationToken)

Crea in modo asincrono una versione preparata (o compilata) del batch o di ognuno dei relativi comandi nell'origine dati.

Si applica a