Example #1
0
        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)));
        }
Example #4
0
        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);
        }