SqlBatch クラス

定義

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
継承
SqlBatch

次の例では、 SqlConnection と を SqlBatch作成し、バッチに複数 SqlBatchCommand のオブジェクトを追加します。 その後、バッチが実行され、 が作成されます SqlDataReader。 この例では、バッチ コマンドの結果を読み取り、コンソールに書き込みます。 最後に、ブロックがスコープ外に落ちるように、 と をSqlConnectionusing閉じますSqlDataReader

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

コンストラクター

SqlBatch()

新しい SqlBatch を初期化します。

SqlBatch(SqlConnection, SqlTransaction)

新しい SqlBatch を初期化します。

プロパティ

BatchCommands

のバッチに含まれるコマンドの SqlBatchCommandCollection一覧。

Commands

オブジェクトの バッチに IList 含まれるコマンドの SqlBatchCommand 一覧。

Connection

のこのインスタンスで使用される を取得または設定 SqlConnection します SqlBatch

DbBatchCommands

SqlBatchCommand オブジェクトのコレクションを取得します。

DbConnection

この DbConnection により使用される SqlBatch を取得または設定します。

DbTransaction

この SqlBatch オブジェクトが実行される SqlTransaction を取得または設定します。

Timeout

バッチの実行試行を終了してエラーを生成する前の待機時間 (秒単位) を取得または設定します。

Transaction

コマンドを実行する 内の をSqlTransactionSqlBatch取得または設定します。

メソッド

Cancel()

の実行 SqlBatchを取り消そうとします。

CreateDbBatchCommand()

SqlBatchCommand オブジェクトの新しいインスタンスを作成します。

Dispose()

アンマネージ リソースの解放またはリセットに関連付けられているアプリケーション定義のタスクを実行します。

ExecuteDbDataReader(CommandBehavior)

その接続に対してバッチを実行し SqlDataReader 、結果へのアクセスに使用できる を返します。

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

この実装では、 メソッドを ExecuteReaderAsync() 呼び出し、完了したタスクを返します。 既定の実装は、既に取り消されたキャンセル トークンを渡した場合、取り消されたタスクを返します。

このメソッドは、早期に操作をキャンセルすることを要求するために使用できるキャンセル トークンを受け取ります。

ExecuteNonQuery()

その接続オブジェクトに対してバッチを実行し、すべてのバッチ コマンドで影響を受けた行の合計数を返します。

ExecuteNonQueryAsync(CancellationToken)

これは ExecuteNonQuery() の非同期バージョンです。

実装は メソッドを ExecuteNonQueryAsync(CancellationToken) 呼び出し、完了したタスクを返します。 既定の実装は、既に取り消されたキャンセル トークンを渡した場合、取り消されたタスクを返します。

返されたタスクが完了するまで DbCommand オブジェクトの他のメソッドとプロパティを呼び出さないでください。

ExecuteReader()

に をCommandsConnection送信し、 をSqlDataReaderビルドします。

ExecuteReaderAsync(CancellationToken)

の非同期バージョンExecuteReader()。 に をCommandsConnection送信し、 をSqlDataReaderビルドします。 例外は、返されたタスク オブジェクトによって報告されます。

ExecuteScalar()

バッチを実行し、最初に返された結果セットの最初の行の最初の列を返します。 その他の列、行、結果セットはすべて無視されます。

ExecuteScalarAsync(CancellationToken)

の非同期バージョン ExecuteScalar()。バッチを実行し、最初に返された結果セットの最初の行の最初の列を返します。 その他の列、行、結果セットはすべて無視されます。

Prepare()

準備済み (またはコンパイル済み) バージョンのバッチ、またはその各コマンドをデータ ソースに作成します。

PrepareAsync(CancellationToken)

データ ソース上に、バッチの準備済み (コンパイル済み) バージョン、またはその各コマンドを非同期的に作成します。

適用対象