/// <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); }
/// <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); }