SqlBatch Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- Dědičnost
-
SqlBatch
- Dědičnost
-
SqlBatch
- Implementuje
Příklady
Následující příklad vytvoří SqlConnection a a SqlBatcha pak přidá více SqlBatchCommand objektů do dávky. Potom provede dávku a vytvoří SqlDataReader. Příklad čte výsledky dávkových příkazů a zapisuje je do konzoly. Nakonec příklad zavře a SqlDataReader pak SqlConnection , jak using bloky spadají do rozsahu.
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));
}
}
Následující příklad vytvoří SqlConnection a a SqlBatcha pak přidá více SqlBatchCommand objektů do dávky. Potom provede dávku a vytvoří SqlDataReader. Příklad čte výsledky dávkových příkazů a zapisuje je do konzoly. Nakonec příklad zavře a SqlDataReader pak SqlConnection , jak using bloky spadají do rozsahu.
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));
}
}
Konstruktory
| Název | Description |
|---|---|
| SqlBatch() |
Inicializuje nový SqlBatch. |
| SqlBatch(SqlConnection, SqlTransaction) |
Inicializuje nový SqlBatch. |
Vlastnosti
| Název | Description |
|---|---|
| BatchCommands |
Seznam příkazů obsažených v dávce v souboru SqlBatchCommandCollection. |
| Commands |
Seznam SqlBatchCommand obsažených v dávce v List<T>souboru . |
| Connection |
Získá nebo nastaví SqlConnection používané touto instancí SqlBatch. |
| DbBatchCommands |
Získá kolekci SqlBatchCommand objektů. |
| DbConnection |
Získá nebo nastaví DbConnection používané tímto SqlBatch. |
| DbTransaction |
Získá nebo nastaví, SqlTransaction ve kterém se tento SqlBatch objekt spustí. |
| Timeout |
Získá nebo nastaví dobu čekání (v sekundách) před ukončením pokusu o spuštění dávky a generování chyby. |
| Transaction |
Získá nebo nastaví, SqlTransaction ve kterém příkazy SqlBatch spouští. |
Metody
| Název | Description |
|---|---|
| Cancel() |
Pokusí se zrušit spuštění příkazu SqlBatch. |
| CreateDbBatchCommand() |
Vytvoří novou instanci objektu SqlBatchCommand . |
| Dispose() |
Provádí úlohy definované aplikací související s uvolněním, uvolněním nebo resetováním nespravovaných prostředků. |
| DisposeAsync() | Provádí úlohy definované aplikací přidružené k uvolnění, uvolnění nebo resetování nespravovaných prostředků asynchronně. |
| ExecuteDbDataReader(CommandBehavior) |
Provede dávku proti jeho připojení a vrátí SqlDataReader ji, která se dá použít pro přístup k výsledkům. |
| ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) |
Tato implementace vyvolá metodu ExecuteReaderAsync() a vrátí dokončenou úlohu. Výchozí implementace vrátí zrušený úkol, pokud už byl zrušený token zrušení. Tato metoda přijímá token zrušení, který lze použít k vyžádání operace, aby byla zrušena dříve. |
| ExecuteNonQuery() |
Provede dávku proti objektu připojení a vrátí celkový počet řádků ovlivněných všemi příkazy dávky. |
| ExecuteNonQueryAsync(CancellationToken) |
Toto je asynchronní verze ExecuteNonQuery().
Implementace vyvolá metodu ExecuteNonQueryAsync(CancellationToken) a vrátí dokončenou úlohu. Výchozí implementace vrátí zrušený úkol, pokud už byl zrušený token zrušení.
Nevyvolejte jiné metody a vlastnosti objektu |
| ExecuteReader() |
Commands Odešle zprávu a Connection vytvoří .SqlDataReader |
| ExecuteReader(CommandBehavior) |
Commands Odešle zprávu a Connection vytvoří .SqlDataReader |
| ExecuteReaderAsync(CancellationToken) |
Asynchronní verze ExecuteReader(), která odešle Commands do Connection a vytvoří SqlDataReader. Výjimky budou hlášeny prostřednictvím vráceného objektu Task. |
| ExecuteReaderAsync(CommandBehavior, CancellationToken) |
Asynchronní verze ExecuteReader(), která odešle Commands do Connection a vytvoří SqlDataReader. Výjimky budou hlášeny prostřednictvím vráceného objektu Task. |
| ExecuteScalar() |
Provede dávku a vrátí první sloupec prvního řádku v první vrácené sadě výsledků. Všechny ostatní sloupce, řádky a sady výsledků se ignorují. |
| ExecuteScalarAsync(CancellationToken) |
Asynchronní verze ExecuteScalar(), která spustí dávku a vrátí první sloupec prvního řádku v první vrácené sadě výsledků. Všechny ostatní sloupce, řádky a sady výsledků se ignorují. |
| Prepare() |
Vytvoří připravenou (nebo zkompilovanou) verzi dávky nebo každého z jejích příkazů ve zdroji dat. |
| PrepareAsync(CancellationToken) |
Asynchronně vytvoří připravenou (nebo zkompilovanou) verzi dávky nebo každého z jejích příkazů ve zdroji dat. |