Exemple #1
0
 /// <summary>
 /// 添加查询条件
 /// </summary>
 /// <param name="_FieldName">字段名</param>
 /// <param name="_DataType">数据类型</param>
 /// <param name="_StartValue">起始值</param>
 /// <param name="_EndValue">结束值</param>
 /// <param name="_StartControlID">起始值对应的控件ID</param>
 /// <param name="_EndControlID">结束值对应的控件ID</param>
 public void AddCondition(string _FieldName, DataType _DataType, string _StartValue, string _EndValue,
                          string _StartControlID, string _EndControlID)
 {
     AddCondition("", _FieldName, _DataType, _StartValue, _EndValue, _StartControlID, _EndControlID);
 }
Exemple #2
0
 /// <summary>
 /// 添加查询条件
 /// </summary>
 /// <param name="_FieldName">字段名</param>
 /// <param name="_DataType">数据类型</param>
 /// <param name="_StartValue">起始值</param>
 /// <param name="_EndValue">结束值</param>
 private void AddCondition(string _FieldName, DataType _DataType, string _StartValue, string _EndValue)
 {
     AddCondition("", _FieldName, _DataType, _StartValue, _EndValue, "", "");
 }
Exemple #3
0
        private string BuildFilterCondition(string TableName, string FieldName, string Value, Operators compare,
                                            DataType type)
        {
            Value = Value.Replace("'", "''").Trim();
            var sqlBuilder = new StringBuilder();

            // 允许空值,实现空条件(IS NULL,IS NOT NULL)

            //if (FieldName != null && FieldName != "" && Value != null && Value != "")
            if (!string.IsNullOrEmpty(FieldName))
            {
                if (Value == null)
                {
                    Value = string.Empty;
                }

                sqlBuilder.Append(" AND ");
                if (type == DataType.Date)
                {
                    sqlBuilder.Append(" CONVERT(CHAR(10), ");
                }
                if (TableName.Trim() != "")
                {
                    sqlBuilder.Append(TableName).Append(".");
                }

                sqlBuilder.Append(FieldName);

                if (type == DataType.Date)
                {
                    sqlBuilder.Append(" ,21) ");
                }
                sqlBuilder.Append(ConvertRangeType(compare));

                if (compare == Operators.Like || compare == Operators.NotLike)
                {
                    sqlBuilder.Append("'%")
                    .Append(Value)
                    .Append("%'");
                }
                else if (compare == Operators.LikeLeft)
                {
                    sqlBuilder.Append("'")
                    .Append(Value)
                    .Append("%'");
                }
                else if (compare == Operators.In)
                {
                    Value = Value.Replace("'", "");
                    string[] a = Value.Split(',');
                    sqlBuilder.Append("(");
                    for (int i = 0; i < a.Length; i++)
                    {
                        sqlBuilder.Append("'" + a[i] + "'");
                        if (i != a.Length - 1)
                        {
                            sqlBuilder.Append(",");
                        }
                    }
                    sqlBuilder.Append(")");
                }
                else if (compare == Operators.SubQueryIn || compare == Operators.SubQueryNotIn)
                {
                    sqlBuilder.Append("( ");
                    sqlBuilder.Append(Value.Replace("''", "'"));
                    sqlBuilder.Append(" )");
                }
                else if (compare != Operators.IsNull && compare != Operators.IsNotNull)
                {
                    if (type == DataType.String)
                    {
                        sqlBuilder.Append("'")
                        .Append(Value)
                        .Append("'");
                    }
                    else if (type == DataType.Date)
                    {
                        sqlBuilder.Append("'")
                        .Append(Value)
                        .Append("'");
                    }
                    else
                    {
                        sqlBuilder.Append(Value);
                    }
                }
            }

            return(sqlBuilder.ToString());
        }
Exemple #4
0
 /// <summary>
 /// 添加查询条件
 /// </summary>
 /// <param name="_TableName">表名或别名,可为空串(如果字段名唯一,不需要加表名或别名标识)</param>
 /// <param name="_FieldName">字段名</param>
 /// <param name="_DataType">数据类型</param>
 /// <param name="_StartValue">起始值</param>
 /// <param name="_EndValue">结束值</param>
 /// <param name="_StartControlID">起始值对应的控件ID</param>
 /// <param name="_EndControlID">结束值对应的控件ID</param>
 private void AddCondition(string _TableName, string _FieldName, DataType _DataType, string _StartValue,
                           string _EndValue, string _StartControlID, string _EndControlID)
 {
     AddCondition(_TableName, _FieldName, Operators.GreaterThanEqual, _DataType, _StartValue, _StartControlID);
     AddCondition(_TableName, _FieldName, Operators.LessThanEqual, _DataType, _EndValue, _EndControlID);
 }
Exemple #5
0
 /// <summary>
 /// 添加查询条件,基础方法
 /// </summary>
 /// <param name="_TableName">表名或别名,可为空串(如果字段名唯一,不需要加表名或别名标识)</param>
 /// <param name="_FieldName">字段名</param>
 /// <param name="_Operators">运算符号</param>
 /// <param name="_DataType">数据类型</param>
 /// <param name="_Value">比较值</param>
 /// <param name="_ControlID">对应的控件ID</param>
 private void AddCondition(string _TableName, string _FieldName, Operators _Operators, DataType _DataType,
                           string _Value, string _ControlID)
 {
     ds.SearchConditionTable.AddSearchConditionRow(_TableName, _FieldName, _Operators.ToString(), _Value,
                                                   _DataType.ToString(), _ControlID);
 }
Exemple #6
0
 /// <summary>
 /// 添加查询条件
 /// </summary>
 /// <param name="_TableName">表名或别名</param>
 /// <param name="_FieldName">字段名</param>
 /// <param name="_Operators">运算符号</param>
 /// <param name="_DataType">数据类型</param>
 /// <param name="_Value">比较值</param>
 private void AddCondition(string _TableName, string _FieldName, Operators _Operators, DataType _DataType,
                           string _Value)
 {
     AddCondition(_TableName, _FieldName, _Operators, _DataType, _Value, "");
 }