예제 #1
0
        /// <summary>
        /// 执行SQL语句将SQL结果返回到DataReader中
        /// </summary>
        /// <param name="context">数据库连接上下文</param>
        /// <param name="Sql">SQL语句</param>
        /// <param name="callback">回调函数/委托</param>
        public void ExecuteDataReader(string context, SqlStatement Sql, CallbackObjectHandler <IDataReader> callback)
        {
            DbContext dbContext = this[context];

            Guard.ArgumentNotNull(dbContext, "dbContext");

            dbContext.ExecuteDataReader(Sql, callback);
        }
예제 #2
0
        /// <summary>
        /// 执行数据查询R命令,返回IDataReader
        /// </summary>
        /// <param name="sqlStatement"></param>
        /// <returns></returns>
        public bool ExecuteReader(SqlStatement sqlStatement, CallbackObjectHandler <IDataReader> callback)
        {
            if (this.CheckDisposed())
            {
                throw new ObjectDisposedException("InternalDataProvider");
            }

            return(Execute(() => InternalExecuteReader(sqlStatement, callback), true));
        }
예제 #3
0
 protected virtual bool InternalExecuteReader(SqlStatement sqlStatement, CallbackObjectHandler <IDataReader> callback)
 {
     using (IDbCommand cmd = this.DatabaseContext.GetDbCommand(sqlStatement.SqlCommandType, sqlStatement.SqlCommandText, sqlStatement.CommandParameters, sqlStatement.SqlTimeOut, sqlStatement.NeedLog))
     {
         //IDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
         //using (IDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
         //using (IDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
         using (IDataReader rdr = cmd.ExecuteReader())
         {
             callback(rdr);
         }
         cmd.Parameters.Clear();
     }
     return(true);
 }
예제 #4
0
 /// <summary>
 /// 执行SQL语句将SQL结果返回到DataReader中
 /// </summary>
 /// <param name="Sql">SQL语句</param>
 /// <param name="callback">回调函数/委托</param>
 public void ExecuteDataReader(SqlStatement Sql, CallbackObjectHandler <IDataReader> callback)
 {
     DefaultContext.ExecuteDataReader(Sql, callback);
 }