ExecuteReaderAsync

オーバーロード・リスト:

このメソッドは、結果セットをOracleDataReaderオブジェクトとしてフェッチする、タスクベースの非同期バージョンのOracleCommand.ExecuteReader()を返します。

  • ExecuteReaderAsync()

    このメソッドは、結果セットをOracleDataReaderオブジェクトとしてフェッチする、タスクベースの非同期バージョンのOracleCommand.ExecuteReader()を返します。

  • ExecuteReaderAsync(CancellationToken cancellationToken)

    このメソッドは、結果セットをOracleDataReaderオブジェクトとしてフェッチする、タスクベースの非同期バージョンのOracleCommand.ExecuteReader()を返します。

  • ExecuteReaderAsync(CommandBehavior behavior)

    このメソッドは、結果セットをOracleDataReaderオブジェクトとしてフェッチする、タスクベースの非同期バージョンのOracleCommand.ExecuteReader()を返します。

  • ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)

    このメソッドは、結果セットをOracleDataReaderオブジェクトとしてフェッチする、タスクベースの非同期バージョンのOracleCommand.ExecuteReader()を返します。

例(すべてのオーバーロードを使用)

using Oracle.ManagedDataAccess.Client;
using System;
using System.Data; 
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";

      OracleDataReader reader;
        
      reader = await cmd.ExecuteReaderAsync();
      while (await reader.ReadAsync(CancellationToken.None))
      {
        Console.WriteLine(reader.GetValue(0));
      }

      reader = await cmd.ExecuteReaderAsync(CancellationToken.None);
      while (await reader.ReadAsync(CancellationToken.None))
      {
        Console.WriteLine(reader.GetValue(0));
      }

      reader = await cmd.ExecuteReaderAsync(CommandBehavior.Default);
      while (await reader.ReadAsync(CancellationToken.None))
      {
        Console.WriteLine(reader.GetValue(0));
      }

      reader = await cmd.ExecuteReaderAsync(CommandBehavior.Default, CancellationToken.None);
      while (await reader.ReadAsync(CancellationToken.None))
      {
        Console.WriteLine(reader.GetValue(0));
      }
    }
  }
}