/// <summary> /// 使用缓存查询信息 /// </summary> /// <param name="info">查询主体</param> /// <param name="totalcnt">返回条目数</param> /// <returns></returns> public DataTable QueryData(ExhibitorSearchEntity info, out int totalcnt) { if (info.UseDBPagination) { string key = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(info.ToJson(info), "MD5"); DataTableRSCacheEntity rsobj = MyCache <DataTableRSCacheEntity> .Get(key); if (rsobj == null) { DataTable dt = dao.QueryData(info, out totalcnt); if (dt != null && dt.Rows.Count > 0) { rsobj = new DataTableRSCacheEntity() { Source = dt, TotalCnt = totalcnt }; MyCache <DataTableRSCacheEntity> .Insert(key, rsobj, 60); } else { rsobj = new DataTableRSCacheEntity(); } } totalcnt = rsobj.TotalCnt; return(rsobj.Source); } else { return(dao.QueryData(info, out totalcnt)); } }
/// <summary> /// /// </summary> /// <param name="sp"></param> /// <returns></returns> protected virtual SqlParameter CreateParameter_Fileds_Console(ExhibitorSearchEntity sp) { StringBuilder sbfileds = new StringBuilder(); sbfileds.Append(@" ee.* "); return(new SqlParameter("@Fields", sbfileds.ToString())); }
protected virtual SqlParameter CreateParamter_Orderby_Console(ExhibitorSearchEntity sp) { StringBuilder sb = new StringBuilder(); sb.Append(" ee.ExhibitorPinYin ASC "); return(new SqlParameter("@OrderField", sb.ToString())); }
/// <summary> /// /// </summary> /// <param name="sp"></param> /// <returns></returns> protected virtual SqlParameter CreateParameter_Table_Console(ExhibitorSearchEntity sp) { StringBuilder sbtable = new StringBuilder(); sbtable.Append(@" dbo.M_Exhibition_Exhibitors AS ee INNER JOIN dbo.M_Exhibition_Main AS em ON em.ExhibitionID = ee.ExhibitionID "); return(new SqlParameter("@TableName", sbtable.ToString())); }
/// <summary> /// /// </summary> /// <param name="sp"></param> /// <returns></returns> protected virtual SqlParameter CreateParameter_Fileds(ExhibitorSearchEntity sp) { StringBuilder sbfileds = new StringBuilder(); sbfileds.Append(@"em.ExhibitionID ,ee.ExhibitorID ,ee.ExhibitorName ,ee.ExhibitorPinYin ,ee.IsHadBookList"); return(new SqlParameter("@Fields", sbfileds.ToString())); }
/// <summary> /// /// </summary> /// <param name="sp"></param> /// <returns></returns> protected virtual SqlParameter CreateParameter_Where_Console(ExhibitorSearchEntity sp) { StringBuilder sbwhere = new StringBuilder(" 1=1 AND em.StateTypeID = 1 AND ee.StateTypeID = 1 "); if (sp.ExhibitionID > 0) { sbwhere.AppendFormat(" AND em.ExhibitionID = {0}", sp.ExhibitionID); } if (!string.IsNullOrEmpty(sp.ExhibitorName)) { sbwhere.AppendFormat(@" AND (ee.ExhibitorName LIKE '%{0}%' OR ee.ExhibitorPinYin LIKE '%{0}%') ", sp.ExhibitorName); } return(new SqlParameter("@sqlWhere", sbwhere.ToString())); }
/// <summary> /// 核心方法。查询条件转换成sql参数 /// </summary> /// <param name="sp"></param> /// <returns></returns> protected virtual List <SqlParameter> ParseToSqlParameters_Console(ExhibitorSearchEntity sp) { List <SqlParameter> _parameters = new List <SqlParameter>(); _parameters.Add(CreateParameter_Table_Console(sp)); _parameters.Add(CreateParameter_Fileds_Console(sp)); _parameters.Add(CreateParamter_Orderby_Console(sp)); _parameters.Add(CreateParameter_Where_Console(sp)); _parameters.Add(new SqlParameter("@pageSize", sp.PageSize)); _parameters.Add(new SqlParameter("@pageIndex", sp.PageIndex)); _parameters.Add(new SqlParameter() { ParameterName = "@Records", Value = 0, Direction = System.Data.ParameterDirection.Output }); return(_parameters); }
public DataTable QueryDataConsole(ExhibitorSearchEntity info, out int totalcnt) { try { SqlParameter[] prms = ParseToSqlParameters_Console(info).ToArray(); DataTable dt = SQlHelper.ExecuteDataset(SQlHelper.MyConnectStr, CommandType.StoredProcedure, "sp_pager05", prms).Tables[0]; totalcnt = int.Parse(prms[prms.Length - 1].Value.ToString()); return(dt); } catch (Exception ex) { totalcnt = -1; LogUtil.WriteLog(ex); return(null); } }
private DataTable GetQueryData(bool isDownload) { int totalcnt = 0; ExhibitorSearchEntity entity = new ExhibitorSearchEntity(); entity.ExhibitionID = _exhibitionID; entity.ExhibitorName = _exhibitorName; entity.PageSize = base.PageSize; entity.PageIndex = base.PageIndex; entity.UseDBPagination = !isDownload; DataTable table = bll.QueryDataConsole(entity, out totalcnt); base.TotalRecords = totalcnt; return(table); }
public DataTable QueryDataConsole(ExhibitorSearchEntity info, out int totalcnt) { return(dao.QueryDataConsole(info, out totalcnt)); }