Ejemplo n.º 1
0
        /// <summary>
        /// 添加SQL分组语句并返回当前SQL语句创建类
        /// </summary>
        /// <param name="groupBys">Group By语句集合</param>
        /// <returns>当前SQL语句创建类</returns>
        internal SqlCommandBuilder AppendSelectGroupBys(List <SqlGroupByField> groupBys)
        {
            if (groupBys != null && groupBys.Count > 0)
            {
                this._stringBuilder.Append("GROUP BY ");

                StringBuilder names = new StringBuilder();

                for (Int32 i = 0; i < groupBys.Count; i++)
                {
                    if (i > 0)
                    {
                        names.Append(",");
                    }

                    SqlGroupByField field = groupBys[i];

                    if (field.UseFunction)
                    {
                        names.Append(field.Function);
                    }

                    if (!String.IsNullOrEmpty(field.FieldName))
                    {
                        if (field.UseFunction)
                        {
                            names.Append('(');
                        }

                        if (!String.IsNullOrEmpty(field.TableName))
                        {
                            names.Append(field.TableName).Append('.');
                        }

                        names.Append(field.FieldName);

                        if (field.UseFunction)
                        {
                            names.Append(')');
                        }
                    }
                }

                this._stringBuilder.Append(names.ToString()).Append(' ');
            }

            return(this);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 判断两个Sql分类字段是否相同
        /// </summary>
        /// <param name="obj">待比较的Sql分类字段</param>
        /// <returns>两个Sql分类字段是否相同</returns>
        public override Boolean Equals(Object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            SqlGroupByField field = obj as SqlGroupByField;

            if (field == null)
            {
                return(false);
            }

            if (!String.Equals(this._tableName, field._tableName))
            {
                return(false);
            }

            if (!String.Equals(this._columnName, field._columnName))
            {
                return(false);
            }

            if (this._useFunction != field._useFunction)
            {
                return(false);
            }

            if (!String.Equals(this._function, field._function))
            {
                return(false);
            }

            return(true);
        }