/// <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); }
/// <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)); }
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); }
/// <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); }