ExecuteNonQueryAsync(CancellationToken cancellationToken)

このメソッドは、CancellationTokenを使用して接続オブジェクトに対してコマンドを実行し影響を受ける行の数を返す、非同期バージョンのExecuteNonQuery()を返します。

宣言

// C#
public override Task<int> int ExecuteNonQueryAsync(CancellationToken cancellationToken);

戻り値

問合せ実行の期間全体にわたりコール元のスレッドをブロックすることがない、即座に非同期処理を表すTaskオブジェクト。

実装

DbCommand

例外

InvalidOperationException - コマンドを実行できない場合

using Oracle.ManagedDataAccess.Client;
using System;
using System.Threading;
using System.Threading.Tasks;

namespace AsyncApp
{
  class AsyncDemo
  {
    static async Task Main()
    {
      string connection = "User Id=HR; Password=<PASSWORD>; Data Source=oracle;";
      OracleConnection oc = new OracleConnection(connection);
      await oc.OpenAsync(CancellationToken.None);
      Console.WriteLine("Connection opened successfully");

      OracleCommand cmd = oc.CreateCommand();
      cmd.CommandText = "insert into tab1 values(1)";
      Task task = cmd.ExecuteNonQueryAsync(CancellationToken.None);
      await task;
      Console.WriteLine("Query executed");
      oc.Close();
    }
  }
}