public static V MinValue <T, V>(DatabaseCore accessor, string column, Clause clause = null) where T : TableEntity, new() { if (accessor == null) { return(default(V)); } var entity = CreateEntity <T>(); var col = entity.FindColumn(column); if (col == null) { return(default(V)); } var sql = new StringBuilder(); sql.AppendLine(string.Format("SELECT MIN({0}) AS MINVAL FROM [{1}]", col.ID, entity.TableName)); string where = null; List <DbParameter> parameters = null; if (clause != null) { clause.Export(accessor, out where, out parameters); } if (!string.IsNullOrEmpty(where)) { sql.AppendLine("WHERE"); sql.AppendLine(where); } return(accessor.RetrieveValue <V>(accessor.CreateCommand(sql.ToString(), parameters), default(V))); }
public List <T> RetrieveEntity <T>(Clause clause, Sort sort) where T : TableEntity, new() { var sql = new StringBuilder(); var entity = new T(); sql.AppendLine(entity.SQLTableSelect); List <DbParameter> parameters = null; string txtClause = null; if (clause != null) { clause.Export(this, out txtClause, out parameters); } if (!string.IsNullOrWhiteSpace(txtClause)) { sql.AppendLine(" WHERE " + txtClause); } string txtSort = null; if (sort != null) { sort.Export(out txtSort); } if (!string.IsNullOrWhiteSpace(txtSort)) { sql.AppendLine(" ORDER BY " + txtSort); } var command = CreateCommand(sql.ToString(), parameters); return(RetrieveEntity <T>(command, false)); }
public long CountInTable(string table, Clause clause = null) { ClearError(); if (string.IsNullOrWhiteSpace(table)) { return(-1); } var sql = new StringBuilder(); sql.AppendLine(string.Format("SELECT COUNT(1) FROM {0}", table.Trim().ToUpper())); List <DbParameter> parameters = null; string txtClause = null; if (clause != null) { clause.Export(this, out txtClause, out parameters); } if (!string.IsNullOrWhiteSpace(txtClause)) { sql.AppendLine(" WHERE " + txtClause); } return(RetrieveValue <long>(CreateCommand(sql.ToString(), parameters))); }
public List <T> Retrieve(int pageno) { var list = new List <T>(); if (pageno <= 0) { return(list); } if (Sort.Count <= 0) { return(list); } if (string.IsNullOrWhiteSpace(PageNOScript)) { return(list); } string select = string.Empty; using (var entity = TableEntity.CreateEntity <T>()) { select = (entity != null) ? entity.SQLTableSelect : null; } if (string.IsNullOrWhiteSpace(select)) { return(list); } string where = null; List <DbParameter> parameters = null; Clause.Export(Accessor, out where, out parameters); if (!string.IsNullOrWhiteSpace(where)) { select = string.Format("{0} WHERE {1}", select, where.ToString()); } var sql = string.Format(SQL, PageNOScript, select, pageno); string sort = null; Sort.Export(out sort); if (!string.IsNullOrWhiteSpace(sort)) { sql = string.Format("{0} ORDER BY {1}", sql, sort); } list = Accessor.RetrieveEntity <T>(Accessor.CreateCommand(sql, parameters), false); return(list); }