/// <summary> /// 지정된 Command를 실행하여, DataTable을 빌드합니다. /// </summary> /// <param name="cmd">실행할 Select용 Command</param> /// <param name="firstResult">첫번째 레코드의 인덱스 (0부터 시작)</param> /// <param name="maxResults">최대 레코드 수 (0 이면 무시하고, 마지막 레코드까지 가져온다</param> /// <param name="parameters">DbCommand의 Parameter 정보</param> /// <returns>instance of <see cref="DataTable"/></returns> public override DataTable ExecuteDataTable(DbCommand cmd, int firstResult, int maxResults, params IAdoParameter[] parameters) { cmd.AssertIsOracleCommand(); return With.TryFunctionAsync(() => Db.ExecuteDataTableAsync((OracleCommand)cmd, firstResult, maxResults, parameters).Result, () => (DataTable)null); }
/// <summary> /// 여러 ResultSet을 반환할 수 있으므로, DataTable의 컬렉션으로 반환합니다. /// </summary> public override IList<DataTable> ExecuteDataTableAsList(DbCommand cmd, int firstResult, int maxResults, params IAdoParameter[] parameters) { cmd.AssertIsOracleCommand(); return With.TryFunctionAsync(() => Db.ExecuteDataTableAsListAsync((OracleCommand)cmd, firstResult, maxResults, parameters) .Result, () => new List<DataTable>()); }
/// <summary> /// 지정된 Command의 ExecuteScalar 메소드를 실행합니다. /// </summary> /// <param name="cmd">실행할 Command 객체</param> /// <returns></returns> protected override object ExecuteScalarInternal(DbCommand cmd) { cmd.AssertIsOracleCommand(); return With.TryFunctionAsync(() => Db.ExecuteScalarAsync((OracleCommand)cmd).Result, () => (object)null); }
/// <summary> /// 지정된 Command의 ExecuteReader 메소드를 실행합니다. /// </summary> /// <param name="cmd"></param> /// <returns></returns> protected override IDataReader ExecuteReaderInternal(DbCommand cmd) { cmd.AssertIsOracleCommand(); return With.TryFunctionAsync(() => Db.ExecuteReaderAsync((OracleCommand)cmd).Result, () => (IDataReader)null); }
/// <summary> /// 지정된 Command의 ExecuteNonQuery 메소드를 실행합니다. /// </summary> /// <param name="cmd">실행할 Command 객체</param> /// <returns></returns> protected override int ExecuteNonQueryInternal(DbCommand cmd) { cmd.AssertIsOracleCommand(); return With.TryFunctionAsync(() => Db.ExecuteNonQueryAsync((OracleCommand)cmd).Result, () => -1); }