Example #1
0
        public void SetOrderBy(KeyValuePair <string, bool>[] columns)
        {
            if (columns == null || columns.Length == 0)
            {
                orderBy = null;
                return;
            }

            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < columns.Length; ++i)
            {
                SqlQueryUtils.AppendColumnName(sb, columns[i].Key);

                if (columns[i].Value)
                {
                    sb.Append(" DESC");
                }

                if (i < columns.Length - 1)
                {
                    sb.Append(',');
                }
            }
            orderBy = sb.ToString();
        }
        public DbCommand CreateSelectCommand(WhereClip where, string[] columns)
        {
            Check.Require(((object)where) != null && where.From != null, "expr and expr.From could not be null!");
            Check.Require(columns != null && columns.Length > 0, "columns could not be null or empty!");

            DbCommand cmd = fac.CreateCommand();

            cmd.CommandType = CommandType.Text;

            StringBuilder sb = new StringBuilder("SELECT ");

            for (int i = 0; i < columns.Length; ++i)
            {
                SqlQueryUtils.AppendColumnName(sb, columns[i]);

                if (i < columns.Length - 1)
                {
                    sb.Append(',');
                }
            }
            sb.Append(" FROM ");
            sb.Append(where.ToString());

            AddExpressionParameters(where, cmd);

            cmd.CommandText = SqlQueryUtils.ReplaceDatabaseTokens(sb.ToString(), leftToken, rightToken, paramPrefixToken, wildcharToken, wildsinglecharToken);
            PrepareCommand(cmd);
            return(cmd);
        }
Example #3
0
        public static string ValidColumnName(string columnName)
        {
            Check.Require(columnName != null, "columnName could not be null!");

            StringBuilder sb = new StringBuilder();

            SqlQueryUtils.AppendColumnName(sb, columnName);
            return(sb.ToString());
        }
Example #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="QueryColumn"/> class.
        /// </summary>
        /// <param name="dbColName">Name of the database col.</param>
        /// <param name="type">The type.</param>
        /// <param name="entityPropertyName">Name of the entity property.</param>
        /// <param name="isPk">if set to <c>true</c> [is pk].</param>
        /// <param name="isAutoIncrement">是否为自增长属性</param>
        /// <remarks>
        ///     <para>创建:Teddy</para>
        ///     <para>日期:2018/3/22</para>
        /// </remarks>
        public QueryColumn(string dbColName, DbType type, string entityPropertyName, bool isPk, bool isAutoIncrement)
        {
            Check.Require(!string.IsNullOrEmpty(dbColName), "dbColName could not be null or empty.");

            SqlQueryUtils.AppendColumnName(this.sql, dbColName);
            this.entityPropertyName = entityPropertyName;
            this.DbType             = type;
            this.IsPK            = isPk;
            this.IsAutoIncrement = isAutoIncrement;
        }
Example #5
0
        public static string DatePart(string columnName, DatePartType partType)
        {
            Check.Require(!string.IsNullOrEmpty(columnName), "columnName could not be null or empty!");

            StringBuilder sb = new StringBuilder("DATEPART(");

            sb.Append(partType.ToString());
            sb.Append(',');
            SqlQueryUtils.AppendColumnName(sb, columnName);
            sb.Append(')');
            return(sb.ToString());
        }
Example #6
0
        //public static string SubString(string columnName, int start)
        //{
        //    Check.Require(!string.IsNullOrEmpty(columnName), "columnName could not be null or empty!");
        //    Check.Require(start >= 0, "start must >= 0!");

        //    StringBuilder sb = new StringBuilder("SUBSTRING(");
        //    SqlQueryUtils.AppendColumnName(sb, columnName);
        //    sb.Append(',');
        //    sb.Append(start + 1);
        //    sb.Append(",LEN(");
        //    SqlQueryUtils.AppendColumnName(sb, columnName);
        //    sb.Append(')');
        //    sb.Append(')');
        //    return sb.ToString();
        //}

        public static string SubString(string columnName, int start, int length)
        {
            Check.Require(!string.IsNullOrEmpty(columnName), "columnName could not be null or empty!");
            Check.Require(start >= 0, "start must >= 0!");
            Check.Require(length >= 0, "length must = 0!");

            StringBuilder sb = new StringBuilder("SUBSTRING(");

            SqlQueryUtils.AppendColumnName(sb, columnName);
            sb.Append(',');
            sb.Append(start + 1);
            sb.Append(',');
            sb.Append(length);
            sb.Append(')');
            return(sb.ToString());
        }
Example #7
0
        public static string Count(string columnName, bool isDistinct)
        {
            Check.Require(!string.IsNullOrEmpty(columnName), "columnName could not be null or empty!");

            StringBuilder sb = new StringBuilder();

            sb.Append("COUNT(");
            if (isDistinct)
            {
                sb.Append("DISTINCT ");
            }
            SqlQueryUtils.AppendColumnName(sb, columnName);
            sb.Append(')');
            //sb.Append(" [COUNT_");
            //sb.Append(columnName.Replace("*", "ALL").Replace(" ", "_").Replace(".", "_").Replace("[", string.Empty).Replace("]", string.Empty));
            //sb.Append(']');
            return(sb.ToString());
        }
Example #8
0
        private static string Func(string funcName, string columnName)
        {
            Check.Require(!string.IsNullOrEmpty(funcName), "funcName could not be null or empty!");
            Check.Require(!string.IsNullOrEmpty(columnName), "columnName could not be null or empty!");

            StringBuilder sb = new StringBuilder(funcName);

            sb.Append("(");
            SqlQueryUtils.AppendColumnName(sb, columnName);
            sb.Append(')');
            //if (funcName == "SUM" || funcName == "AVG" || funcName == "MIN" || funcName == "MAX")
            //{
            //    sb.Append(" [");
            //    sb.Append(funcName);
            //    sb.Append("_");
            //    sb.Append(columnName.Replace("*", "ALL").Replace(" ", "_").Replace(".", "_").Replace("[", string.Empty).Replace("]", string.Empty));
            //    sb.Append(']');
            //}
            return(sb.ToString());
        }
Example #9
0
        internal void SetGroupBy(string[] columns)
        {
            if (columns == null || columns.Length == 0)
            {
                groupBy = null;
                return;
            }

            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < columns.Length; ++i)
            {
                SqlQueryUtils.AppendColumnName(sb, columns[i]);

                if (i < columns.Length - 1)
                {
                    sb.Append(',');
                }
            }
            groupBy = sb.ToString();
        }