예제 #1
0
        /// <summary>
        /// 格式化全文检索字符串。默认按照SQL Server的规则,消除双引号。并且将空格替换成逻辑运算符
        /// </summary>
        /// <param name="logicOp">逻辑运算符,默认是AND</param>
        /// <param name="searchText"></param>
        /// <returns></returns>
        public string FormatFullTextString(LogicOperatorDefine logicOp, string searchText)
        {
            StringBuilder result = new StringBuilder();

            string[] parts = null;

            if (searchText.IsNotEmpty())
            {
                searchText = searchText.Replace("\"", "");
                parts      = searchText.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            }
            else
            {
                parts = new string[0];
            }

            string op = EnumItemDescriptionAttribute.GetAttribute(logicOp).ShortName;

            foreach (string part in parts)
            {
                if (result.Length > 0)
                {
                    result.AppendFormat(" {0} ", op);
                }

                result.AppendFormat("\"{0}\"", part);
            }

            return(result.ToString());
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="lo"></param>
        /// <param name="sqlClause"></param>
        public ConnectiveSqlClauseCollection(LogicOperatorDefine lo, params IConnectiveSqlClause[] sqlClause)
            : base()
        {
            this.logicOperator = lo;

            if (sqlClause != null)
            {
                for (int i = 0; i < sqlClause.Length; i++)
                {
                    this.Add(sqlClause[i]);
                }
            }
        }
 /// <summary>
 /// 构造方法,可以指定生成条件表达式时的逻辑运算符
 /// </summary>
 /// <param name="lo">逻辑运算符</param>
 public ConnectiveSqlClauseCollection(LogicOperatorDefine lo)
     : base()
 {
     this.logicOperator = lo;
 }
 /// <summary>
 /// 构造方法,可以指定生成条件表达式时的逻辑运算符
 /// </summary>
 /// <param name="lod">逻辑运算符</param>
 public WhereSqlClauseBuilder(LogicOperatorDefine lod)
     : base()
 {
     this.logicOperator = lod;
 }
예제 #5
0
		/// <summary>
		/// 格式化全文检索字符串。默认按照SQL Server的规则,消除双引号。并且将空格替换成逻辑运算符
		/// </summary>
		/// <param name="logicOp">逻辑运算符,默认是AND</param>
		/// <param name="searchText"></param>
		/// <returns></returns>
		public string FormatFullTextString(LogicOperatorDefine logicOp, string searchText)
		{
			StringBuilder result = new StringBuilder();

			string[] parts = null;

			if (searchText.IsNotEmpty())
			{
				searchText = searchText.Replace("\"", "");
				parts = searchText.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
			}
			else
				parts = new string[0];

			string op = EnumItemDescriptionAttribute.GetAttribute(logicOp).ShortName;

			foreach (string part in parts)
			{
				if (result.Length > 0)
					result.AppendFormat(" {0} ", op);

				result.AppendFormat("\"{0}\"", part);
			}

			return result.ToString();
		}