public FindQuery(string targetdb = null) { excutParBag = new ExcutParBag_Select(); this.SetTargetDb(targetdb.ToSafeString()); ((ExcutParBag_Select)excutParBag).excutEnum = ExcutEnum.Select; ((ExcutParBag_Select)excutParBag).selectColumns = new List <string>(); ((ExcutParBag_Select)excutParBag).orders = new List <OrderPair>(); ((ExcutParBag_Select)excutParBag).SetType(typeof(T)); }
//构建检索 protected override void SelectCommandText() { base.SelectCommandText(); ExcutParBag_Select bagPar = (ExcutParBag_Select)this.excutParBag; StringBuilder selectSQL = new StringBuilder(); //语句 StringBuilder whereSQL = new StringBuilder(); //条件语句 StringBuilder order = new StringBuilder(""); //条件语句 if (bagPar.orders != null && bagPar.orders.Count > 0) { order.Append(" ORDER BY "); List <string> orderlist = new List <string>(); bagPar.orders.ForEach(p => { orderlist.Add(p.orderName + " " + p.orderBy.ToString()); }); order.Append(string.Join(",", orderlist)); } selectSQL.Append("SELECT "); if (bagPar.selectColumns != null && bagPar.selectColumns.Count() > 0) { selectSQL.Append(string.Join(",", bagPar.selectColumns)); } else { selectSQL.Append(" * "); } selectSQL.Append(" FROM " + bagPar.tableName); var where = this.SetWhere(bagPar.condition); if (!string.IsNullOrEmpty(where)) { whereSQL.AppendFormat(" WHERE "); whereSQL.AppendFormat(where); } if (bagPar.topSize.HasValue) { this.CommandText = string.Format("{0}{1}{2}{3}", selectSQL.ToString(), whereSQL.ToString(), order.ToString(), " LIMIT " + bagPar.topSize.Value + " "); } else { this.CommandText = string.Format("{0}{1}{2}", selectSQL.ToString(), whereSQL.ToString(), order.ToString()); } }