Example #1
0
        /// <summary>
        /// 执行SQL语句委托绑定数据对象列表
        /// </summary>
        /// <param name="sqlStr">要执行的SQLScript</param>
        /// <param name="delegateDataBind">委托绑定数据方法</param>
        /// <returns>返回执行绑定数据后的数据列表</returns>
        public List <T> ExecuterReaderDataBind(string sqlStr, DataReaderBind delegateDataBind)
        {
            List <T> list = new List <T>();
            Database db   = DatabaseFactory.CreateDatabase();

            using (IDataReader dr = db.ExecuteReader(CommandType.Text, sqlStr))
            {
                while (dr.Read())
                {
                    list.Add(delegateDataBind(dr));
                }
            }
            return(list);
        }
Example #2
0
        /// <summary>
        /// 根据条件分页查询
        /// </summary>
        /// <param name="pageProcInfo">分页存储过程过滤条件</param>
        /// <param name="total">总页数</param>
        /// <param name="delegateDataBind">绑定数据委托事件</param>
        /// <returns></returns>
        public List <T> PagingQueryProcedures(PagingProceduresInfo pageProcInfo, out int total, DataReaderBind delegateDataBind)
        {
            List <T>  list      = new List <T>();
            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetStoredProcCommand("Proc_CommonPagingStoredProcedure");

            db.AddInParameter(dbCommand, "Tables", DbType.String, pageProcInfo.Tables);
            db.AddInParameter(dbCommand, "PK", DbType.String, pageProcInfo.PK);
            db.AddInParameter(dbCommand, "Sort", DbType.String, pageProcInfo.Sort);
            db.AddInParameter(dbCommand, "PageNumber", DbType.Int32, pageProcInfo.PageNumber);
            db.AddInParameter(dbCommand, "PageSize", DbType.Int32, pageProcInfo.PageSize);
            db.AddInParameter(dbCommand, "Fields", DbType.String, pageProcInfo.Fields);
            db.AddInParameter(dbCommand, "Filter", DbType.String, pageProcInfo.Filter);
            db.AddInParameter(dbCommand, "isCount", DbType.Boolean, pageProcInfo.IsCount);
            db.AddOutParameter(dbCommand, "Total", DbType.Int32, 4);
            using (IDataReader dr = db.ExecuteReader(dbCommand))
            {
                while (dr.Read())
                {
                    list.Add(delegateDataBind(dr));
                }
                dr.Close();
            }
            if (db.GetParameterValue(dbCommand, "@Total") != null && db.GetParameterValue(dbCommand, "@Total") != DBNull.Value)
            {
                total = (int)db.GetParameterValue(dbCommand, "@Total");
            }
            else
            {
                total = 0;
            }

            return(list);
        }