Condividi tramite


SqlBatch Classe

Definizione

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

Esempio

Nell'esempio seguente viene creato un SqlConnection oggetto e SqlBatch, quindi vengono aggiunti più SqlBatchCommand oggetti al batch. Esegue quindi il batch, creando un SqlDataReaderoggetto . L'esempio legge i risultati dei comandi batch, scrivendoli nella console. Infine, l'esempio chiude l'oggetto SqlDataReaderSqlConnection e quindi come i using blocchi 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();

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

Costruttori

SqlBatch()

Inizializza un nuovo oggetto SqlBatch.

SqlBatch(SqlConnection, SqlTransaction)

Inizializza un nuovo oggetto SqlBatch.

Proprietà

BatchCommands

Elenco di comandi contenuti nel batch in un SqlBatchCommandCollectionoggetto .

Commands

Elenco di comandi contenuti nel batch in un IList oggetto .SqlBatchCommand

Connection

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

DbBatchCommands

Ottiene la raccolta di oggetti SqlBatchCommand.

DbConnection

Ottiene o imposta l'oggetto DbConnection utilizzato da SqlBatch.

DbTransaction

Ottiene o imposta la proprietà SqlTransaction in cui viene eseguito questo oggetto SqlBatch.

Timeout

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

Transaction

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

Metodi

Cancel()

Tenta di annullare l'esecuzione di un SqlBatchoggetto .

CreateDbBatchCommand()

Crea una nuova istanza di un oggetto SqlBatchCommand.

Dispose()

Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite.

ExecuteDbDataReader(CommandBehavior)

Esegue il batch sulla connessione, restituendo un SqlDataReader oggetto 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 viene passato un token di annullamento già annullato.

Questo metodo accetta un token di annullamento che può essere utilizzato per richiedere che l'operazione venga annullata in anticipo.

ExecuteNonQuery()

Esegue il batch sul relativo oggetto di 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 viene passato un token di annullamento già annullato.

Non richiamare altri metodi e proprietà dell'oggetto DbCommand finché l'attività restituita non viene completata.

ExecuteReader()

Invia all'oggetto CommandsConnection e compila un SqlDataReader oggetto .

ExecuteReaderAsync(CancellationToken)

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

ExecuteScalar()

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

ExecuteScalarAsync(CancellationToken)

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

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