/// <summary> /// 生成创建视图SQL语句 /// </summary> /// <param name="viewName"></param> /// <param name="command"></param> private void GetBulidViewString(string viewName, SqlCommand command) { string baseString = "CREATE VIEW "; StringBuilder result = new StringBuilder(); result.Append(baseString); result.Append(viewName); result.Append(" AS SELECT "); foreach (var item in _needFields) { result.Append(TranslateHelper.GetFieldString(item)); } result.Remove(result.Length - 1, 1); result.Append(" FROM "); result.Append(TranslateHelper.GetJoinConditionString(_needFields, _joinCriterion)); command.Parameters.Clear(); command.CommandText = result.ToString(); }
public static void TranslateIntoComplexQuery(ComplexQuery complexQuery, SqlCommand command) { string baseString = "SELECT "; StringBuilder result = new StringBuilder(); result.Append(baseString); if (complexQuery.IsDictinct == true) { result.Append("DISTINCT "); } if (complexQuery.TopNumber != 0) { result.Append(TranslateHelper.GetTopNumber(complexQuery.TopNumber)); } foreach (var item in complexQuery.NeedFields) { result.Append(TranslateHelper.GetFieldString(item)); } result.Remove(result.Length - 1, 1); result.Append(TranslateHelper.GetJoinConditionString(complexQuery.NeedFields, complexQuery.JoinCriterion)); if (complexQuery.Criterions.Count() > 0) { TranslateHelper.GetCriterionString(result, complexQuery.Criterions, command, complexQuery.SqlOperator); } if (complexQuery.OrderByClauses.Count > 0) { result.Append(TranslateHelper.GetStringFromOrderByClause(complexQuery.OrderByClauses)); } command.CommandText = result.ToString(); }