ExecuteScalarAsync(CancellationToken cancellationToken)

このメソッドは、問合せによって返された結果セット内の最初の行の最初の列を返す、タスクベースの非同期バージョンのOracleCommand.ExecuteScalar()を返します。

宣言

// C#
public override Task<object> ExecuteScalarAsync(CancellationToken cancellationToken);

パラメータ

cancellationToken - コマンドのタイムアウトが発生する前にタスクを取り消すためにアプリケーションによって使用可能な入力取消しトークン。

戻り値

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

実装

DbCommand

例外

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

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

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

      OracleCommand cmd = oc.CreateCommand();
      cmd.CommandText = "select * from demo_table";

      var value = await cmd.ExecuteScalarAsync(CancellationToken.None);
    }
  }
}