/// <summary> /// 获取一定数量的数据 /// </summary> /// <param name="condition">搜索条件</param> /// <param name="quantity">获取的数量, 如果值为0则获取所有符合条件的数据</param> /// <returns></returns> public virtual List <TEntity> SelectBy(DbConditionBuilder condition, int quantity) { if (quantity > 0) { return(this.Provider.DbHelper.Executor.Select <TEntity>(quantity, TableName, condition)); } else { return(this.Provider.DbHelper.Executor.Select <TEntity>(TableName, condition)); } }
/// <summary> /// 查询总数 /// </summary> /// <param name="condition"></param> /// <returns></returns> public virtual int GetDataCount(DbConditionBuilder condition) { System.Text.StringBuilder builder = new System.Text.StringBuilder(); builder.AppendFormat("SELECT COUNT(1) FROM {0}", TableName); if (condition == null) { condition = this.Provider.DbHelper.CreateDBConditionBuilder(); builder.Append(condition); } builder.Append(condition); builder.Append(";"); int count = Convert.ToInt32(this.Provider.DbHelper.ExecuteScalar(builder.ToString(), condition.Parameters)); return(count); }
/// <summary> /// 获取分页数据 /// </summary> /// <param name="condition">搜索条件</param> /// <param name="page">显示的页码</param> /// <param name="pageSize">页码大小</param> /// <param name="pageCount">页码总数</param> /// <param name="recordCount">数据总数</param> /// <returns></returns> public virtual List <T> SelectBy <T>(DbConditionBuilder condition, ref int page, int pageSize, out int pageCount, out int recordCount) { MySqlDataPagingReader reader = new MySqlDataPagingReader((MySqlDbHelper)this.Provider.DbHelper); reader.Select = string.Format("SELECT * FROM {0}", this.Provider.DbHelper.QuoteIdentifier(TableName)); reader.Condition = condition; reader.PageNumber = page; reader.PageSize = pageSize; var entities = reader.ReadAsDbObjectList <T>(); page = reader.PageNumber; pageCount = reader.PageCount; recordCount = reader.RecordCount; return(entities); }
/// <summary> /// 多表联合查询 /// </summary> /// <param name="selColumn">查询列(有别名需带别名)</param> /// <param name="selTableInner">>查询表(有别名需带别名)</param> /// <param name="condition">条件</param> /// <param name="selSort">>排序列(有别名需带别名,需加ASC、DESC)</param> /// <param name="quantity">查询记录条数</param> /// <returns>DataSet</returns> public virtual DataSet GetDataListByMoreTable(string selColumn, string selTableInner, DbConditionBuilder condition, string selSort, int quantity) { System.Text.StringBuilder builder = new System.Text.StringBuilder(); builder.AppendFormat("SELECT {0} FROM {1}", selColumn, selTableInner); if (condition == null) { condition = this.Provider.DbHelper.CreateDBConditionBuilder(); } builder.Append(condition); if (selSort != null && selSort.Length > 0) { builder.AppendFormat(" ORDER BY {0} ", selSort); } if (quantity > 0) { builder.AppendFormat(" limit 0,{0} ", quantity); } builder.Append(";"); return(this.Provider.DbHelper.ExecuteDataSet(builder.ToString(), condition.Parameters)); }