SqlBatch Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- Vererbung
-
SqlBatch
- Vererbung
-
SqlBatch
- Implementiert
Beispiele
Im folgenden Beispiel wird ein SqlConnection und ein SqlBatch, anschließend werden dem Batch mehrere SqlBatchCommand Objekte hinzugefügt. Anschließend wird der Batch ausgeführt, wodurch ein SqlDataReader. Im Beispiel werden die Ergebnisse der Batchbefehle gelesen und in die Konsole geschrieben. Schließlich wird das Beispiel geschlossen SqlDataReader und dann geschlossen SqlConnection , wenn die using Blöcke aus dem Bereich fallen.
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));
}
}
Im folgenden Beispiel wird ein SqlConnection und ein SqlBatch, anschließend werden dem Batch mehrere SqlBatchCommand Objekte hinzugefügt. Anschließend wird der Batch ausgeführt, wodurch ein SqlDataReader. Im Beispiel werden die Ergebnisse der Batchbefehle gelesen und in die Konsole geschrieben. Schließlich wird das Beispiel geschlossen SqlDataReader und dann geschlossen SqlConnection , wenn die using Blöcke aus dem Bereich fallen.
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));
}
}
Konstruktoren
| Name | Beschreibung |
|---|---|
| SqlBatch() |
Initialisiert ein neues SqlBatch. |
| SqlBatch(SqlConnection, SqlTransaction) |
Initialisiert ein neues SqlBatch. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| BatchCommands |
Die Liste der Befehle, die im Batch in einem SqlBatchCommandCollection. |
| Commands |
Die Liste der SqlBatchCommand im Batch enthaltenen In einem List<T>. |
| Connection |
Dient zum Abrufen oder Festlegen der SqlConnection von dieser Instanz der SqlBatch. |
| DbBatchCommands |
Ruft die Sammlung von SqlBatchCommand Objekten ab. |
| DbConnection |
Dient zum Abrufen oder Festlegen der DbConnection von diesem SqlBatchverwendeten . |
| DbTransaction |
Dient zum Abrufen oder Festlegen des SqlTransaction Objekts, in dem dieses SqlBatch Objekt ausgeführt wird. |
| Timeout |
Ruft die Wartezeit (in Sekunden) ab, bevor der Versuch beendet wird, den Batch auszuführen und einen Fehler zu generieren, oder legt diese fest. |
| Transaction |
Dient zum Abrufen oder Festlegen der SqlTransaction Befehle, in denen die SqlBatch Befehle ausgeführt werden. |
Methoden
| Name | Beschreibung |
|---|---|
| Cancel() |
Versucht, die Ausführung einer .SqlBatch |
| CreateDbBatchCommand() |
Erstellt eine neue Instance eines SqlBatchCommand Objekts. |
| Dispose() |
Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen verknüpft sind. |
| DisposeAsync() | Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen asynchron verknüpft sind. |
| ExecuteDbDataReader(CommandBehavior) |
Führt den Batch mit seiner Verbindung aus, wodurch ein SqlDataReader Batch zurückgegeben wird, der für den Zugriff auf die Ergebnisse verwendet werden kann. |
| ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) |
Diese Implementierung ruft die ExecuteReaderAsync() Methode auf und gibt eine abgeschlossene Aufgabe zurück. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn ein bereits abgebrochenes Abbruchtoken übergeben wurde. Diese Methode akzeptiert ein Abbruchtoken, mit dem der Vorgang frühzeitig abgebrochen werden kann. |
| ExecuteNonQuery() |
Führt den Batch mit seinem Verbindungsobjekt aus, wobei die Gesamtanzahl der Zeilen zurückgegeben wird, die für alle Batchbefehle betroffen sind. |
| ExecuteNonQueryAsync(CancellationToken) |
Dies ist die asynchrone Version von ExecuteNonQuery().
Die Implementierung ruft die ExecuteNonQueryAsync(CancellationToken) Methode auf und gibt eine abgeschlossene Aufgabe zurück. Die Standardimplementierung gibt eine abgebrochene Aufgabe zurück, wenn ein bereits abgebrochenes Abbruchtoken übergeben wurde.
Rufen Sie erst andere Methoden und Eigenschaften des |
| ExecuteReader() |
Sendet die Commands an und Connection erstellt eine SqlDataReader. |
| ExecuteReader(CommandBehavior) |
Sendet die Commands an und Connection erstellt eine SqlDataReader. |
| ExecuteReaderAsync(CancellationToken) |
Eine asynchrone Version von ExecuteReader(), die die Commands an die Connection und erstellt eine SqlDataReader. Ausnahmen werden über das zurückgegebene Task-Objekt gemeldet. |
| ExecuteReaderAsync(CommandBehavior, CancellationToken) |
Eine asynchrone Version von ExecuteReader(), die die Commands an die Connection und erstellt eine SqlDataReader. Ausnahmen werden über das zurückgegebene Task-Objekt gemeldet. |
| ExecuteScalar() |
Führt den Batch aus und gibt die erste Spalte der ersten Zeile im ersten zurückgegebenen Resultset zurück. Alle anderen Spalten, Zeilen und Resultsets werden ignoriert. |
| ExecuteScalarAsync(CancellationToken) |
Eine asynchrone Version von ExecuteScalar(), die den Batch ausführt und die erste Spalte der ersten Zeile im ersten zurückgegebenen Resultset zurückgibt. Alle anderen Spalten, Zeilen und Resultsets werden ignoriert. |
| Prepare() |
Erstellt eine vorbereitete (oder kompilierte) Version des Batches oder jedes seiner Befehle in der Datenquelle. |
| PrepareAsync(CancellationToken) |
Erstellt asynchron eine vorbereitete (oder kompilierte) Version des Batches oder jeder seiner Befehle in der Datenquelle. |