SqlBatch クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
- 継承
-
SqlBatch
- 継承
-
SqlBatch
- 実装
例
次の例では、 SqlConnection と SqlBatchを作成し、バッチに複数の SqlBatchCommand オブジェクトを追加します。 その後、バッチが実行され、 SqlDataReaderが作成されます。 この例では、バッチ コマンドの結果を読み取り、コンソールに書き込みます。 最後に、SqlDataReaderを閉じ、using ブロックがスコープから外れるので、SqlConnectionを閉じます。
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));
}
}
次の例では、 SqlConnection と SqlBatchを作成し、バッチに複数の SqlBatchCommand オブジェクトを追加します。 その後、バッチが実行され、 SqlDataReaderが作成されます。 この例では、バッチ コマンドの結果を読み取り、コンソールに書き込みます。 最後に、SqlDataReaderを閉じ、using ブロックがスコープから外れるので、SqlConnectionを閉じます。
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));
}
}
コンストラクター
| Name | 説明 |
|---|---|
| SqlBatch() |
新しい SqlBatchを初期化します。 |
| SqlBatch(SqlConnection, SqlTransaction) |
新しい SqlBatchを初期化します。 |
プロパティ
| Name | 説明 |
|---|---|
| BatchCommands |
SqlBatchCommandCollectionのバッチに含まれるコマンドの一覧。 |
| Commands |
List<T>のバッチに含まれるSqlBatchCommandの一覧。 |
| Connection |
SqlConnectionのこのインスタンスによって使用されるSqlBatchを取得または設定します。 |
| DbBatchCommands |
SqlBatchCommand オブジェクトのコレクションを取得します。 |
| DbConnection |
このDbConnectionで使用されるSqlBatchを取得または設定します。 |
| DbTransaction |
このSqlTransaction オブジェクトが実行されるSqlBatchを取得または設定します。 |
| Timeout |
バッチの実行試行を終了してエラーを生成するまでの待機時間 (秒単位) を取得または設定します。 |
| Transaction |
SqlBatch コマンドを実行するSqlTransactionを取得または設定します。 |
メソッド
| Name | 説明 |
|---|---|
| Cancel() |
SqlBatchの実行を取り消そうとします。 |
| CreateDbBatchCommand() |
SqlBatchCommand オブジェクトの新しいインスタンスを作成します。 |
| Dispose() |
アンマネージド リソースの解放、解放、またはリセットに関連付けられているアプリケーション定義のタスクを実行します。 |
| DisposeAsync() | アンマネージ リソースの解放、解放、またはリセットに関連するアプリケーション定義タスクを非同期的に実行します。 |
| ExecuteDbDataReader(CommandBehavior) |
接続に対してバッチを実行し、結果へのアクセスに使用できる SqlDataReader を返します。 |
| ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) |
この実装は、 ExecuteReaderAsync() メソッドを呼び出し、完了したタスクを返します。 既定の実装では、既に取り消されたキャンセル トークンが渡された場合、取り消されたタスクが返されます。 このメソッドは、早期に取り消す操作を要求するために使用できるキャンセル トークンを受け入れます。 |
| ExecuteNonQuery() |
接続オブジェクトに対してバッチを実行し、すべてのバッチ コマンドで影響を受けた行の合計数を返します。 |
| ExecuteNonQueryAsync(CancellationToken) |
これは、 ExecuteNonQuery()の非同期バージョンです。
実装は、 ExecuteNonQueryAsync(CancellationToken) メソッドを呼び出し、完了したタスクを返します。 既定の実装では、既に取り消されたキャンセル トークンが渡された場合、取り消されたタスクが返されます。
返された Task が完了するまで、 |
| ExecuteReader() |
CommandsをConnectionに送信し、SqlDataReaderをビルドします。 |
| ExecuteReader(CommandBehavior) |
CommandsをConnectionに送信し、SqlDataReaderをビルドします。 |
| ExecuteReaderAsync(CancellationToken) |
ExecuteReader()の非同期バージョン。CommandsをConnectionに送信し、SqlDataReaderをビルドします。 例外は、返された Task オブジェクトを介して報告されます。 |
| ExecuteReaderAsync(CommandBehavior, CancellationToken) |
ExecuteReader()の非同期バージョン。CommandsをConnectionに送信し、SqlDataReaderをビルドします。 例外は、返された Task オブジェクトを介して報告されます。 |
| ExecuteScalar() |
バッチを実行し、返された最初の結果セットの最初の行の最初の列を返します。 他のすべての列、行、結果セットは無視されます。 |
| ExecuteScalarAsync(CancellationToken) |
バッチを実行し、最初に返された結果セットの最初の行の最初の列を返す、 ExecuteScalar()の非同期バージョン。 他のすべての列、行、結果セットは無視されます。 |
| Prepare() |
準備済み (またはコンパイル済み) バージョンのバッチ、またはその各コマンドをデータ ソースに作成します。 |
| PrepareAsync(CancellationToken) |
データ ソース上に、準備済み (またはコンパイル済み) バージョンのバッチまたはその各コマンドを非同期に作成します。 |