SqlBatch Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Devralma
-
SqlBatch
- Devralma
-
SqlBatch
- Uygulamalar
Örnekler
Aşağıdaki örnek bir SqlConnection ve oluşturur ve SqlBatchardından toplu işe birden çok SqlBatchCommand nesne ekler. Ardından toplu işlemi yürüterek bir SqlDataReaderoluşturur. Örnek, toplu iş komutlarının sonuçlarını okuyup konsola yazar. Son olarak, bloklar SqlDataReader kapsamın dışına çıktığı için örnek ve SqlConnection öğesini using kapatır.
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));
}
}
Aşağıdaki örnek bir SqlConnection ve oluşturur ve SqlBatchardından toplu işe birden çok SqlBatchCommand nesne ekler. Ardından toplu işlemi yürüterek bir SqlDataReaderoluşturur. Örnek, toplu iş komutlarının sonuçlarını okuyup konsola yazar. Son olarak, bloklar SqlDataReader kapsamın dışına çıktığı için örnek ve SqlConnection öğesini using kapatır.
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));
}
}
Oluşturucular
| Veri Akışı Adı | Description |
|---|---|
| SqlBatch() |
Yeni SqlBatchbir başlatır. |
| SqlBatch(SqlConnection, SqlTransaction) |
Yeni SqlBatchbir başlatır. |
Özellikler
| Veri Akışı Adı | Description |
|---|---|
| BatchCommands |
bir içindeki toplu işlemde SqlBatchCommandCollectionyer alan komutların listesi. |
| Commands |
Bir içindeki toplu işlemde List<T>yer alan listesiSqlBatchCommand. |
| Connection |
öğesinin SqlConnection bu örneği tarafından kullanılan öğesini SqlBatchalır veya ayarlar. |
| DbBatchCommands |
Nesne koleksiyonunu SqlBatchCommand alır. |
| DbConnection |
Bu DbConnectiontarafından kullanılan öğesini SqlBatch alır veya ayarlar. |
| DbTransaction |
Bu SqlTransaction nesnenin SqlBatch yürütüldiği nesneyi alır veya ayarlar. |
| Timeout |
Toplu işlemi yürütme girişimini sonlandırmadan ve bir hata oluşturmadan önce bekleme süresini (saniye cinsinden) alır veya ayarlar. |
| Transaction |
Komutların SqlTransaction yürütüldiği SqlBatch komutu alır veya ayarlar. |
Yöntemler
| Veri Akışı Adı | Description |
|---|---|
| Cancel() |
Yürütmeyi SqlBatchiptal etmeye çalışır. |
| CreateDbBatchCommand() |
Nesnenin yeni bir SqlBatchCommand örneğini oluşturur. |
| Dispose() |
Yönetilmeyen kaynakları serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı görevleri gerçekleştirir. |
| DisposeAsync() | Yönetilmeyen kaynakları zaman uyumsuz olarak serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı görevleri gerçekleştirir. |
| ExecuteDbDataReader(CommandBehavior) |
Toplu işlemi bağlantısına göre yürütür ve sonuçlara erişmek için kullanılabilecek bir SqlDataReader döndürür. |
| ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) |
Bu uygulama yöntemini çağırır ExecuteReaderAsync() ve tamamlanmış bir görev döndürür. Varsayılan uygulama, zaten iptal edilmiş bir iptal belirteci geçirilirse iptal edilmiş bir görev döndürür. Bu yöntem, işlemin erken iptalini istemek için kullanılabilecek bir iptal belirteci kabul eder. |
| ExecuteNonQuery() |
Toplu işlemi bağlantı nesnesine karşı yürütür ve tüm toplu iş komutlarında etkilenen toplam satır sayısını döndürür. |
| ExecuteNonQueryAsync(CancellationToken) |
Bu, zaman uyumsuz sürümüdür ExecuteNonQuery().
Uygulama yöntemini çağırır ExecuteNonQueryAsync(CancellationToken) ve tamamlanmış bir görev döndürür. Varsayılan uygulama, zaten iptal edilmiş bir iptal belirteci geçirilirse iptal edilmiş bir görev döndürür.
Döndürülen Görev tamamlanana kadar nesnenin |
| ExecuteReader() |
öğesine CommandsConnection gönderir ve bir SqlDataReaderoluşturur. |
| ExecuteReader(CommandBehavior) |
öğesine CommandsConnection gönderir ve bir SqlDataReaderoluşturur. |
| ExecuteReaderAsync(CancellationToken) |
öğesini adresine gönderen ExecuteReader()Commands ve bir oluşturan zaman uyumsuz sürümüConnectionSqlDataReader. Özel durumlar döndürülen Görev nesnesi aracılığıyla bildirilir. |
| ExecuteReaderAsync(CommandBehavior, CancellationToken) |
öğesini adresine gönderen ExecuteReader()Commands ve bir oluşturan zaman uyumsuz sürümüConnectionSqlDataReader. Özel durumlar döndürülen Görev nesnesi aracılığıyla bildirilir. |
| ExecuteScalar() |
Toplu işlemi yürütür ve döndürülen ilk sonuç kümesindeki ilk satırın ilk sütununu döndürür. Diğer tüm sütunlar, satırlar ve sonuç kümeleri yoksayılır. |
| ExecuteScalarAsync(CancellationToken) |
Toplu işlemi yürüten ve döndürülen ilk sonuç kümesindeki ilk satırın ilk sütununu döndüren zaman uyumsuz sürümü ExecuteScalar(). Diğer tüm sütunlar, satırlar ve sonuç kümeleri yoksayılır. |
| Prepare() |
Veri kaynağında toplu iş veya komutlarının her birinin hazırlanmış (veya derlenmiş) bir sürümünü oluşturur. |
| PrepareAsync(CancellationToken) |
Veri kaynağında toplu iş veya komutlarının her birinin hazırlanmış (veya derlenmiş) bir sürümünü zaman uyumsuz olarak oluşturur. |