⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queryparameter.cs

📁 一个由VB开发的。NET实体生成器` 提高.net代码质量及开发效率
💻 CS
字号:
using System;
using System.Data;
using System.Data.SqlClient;

namespace {namespace}.DataAS
{
    /// <summary>
    /// 检索参数
    /// </summary>
    public class QueryParameter
    {
        protected string _ColumnName;
        protected object _ColumnValue;
        protected QueryMethodOperator _Operator;
        protected QueryDataType _DataType;

        protected object _BetweenValue1;
        protected object _BetweenValue2;
        protected bool _IsBetween;

        protected string _leftExtends;
        protected string _rightExtends;
        public string Logic;
        private bool IsNoInit;

        /// <summary>
        /// 左扩展
        /// </summary>
        public string LeftExtends
        {
            get
            {
                return _leftExtends;
            }
            set
            {
                _leftExtends = value;
            }
        }

        /// <summary>
        /// 右扩展
        /// </summary>
        public string RightExtends
        {
            get
            {
                return _rightExtends;
            }
            set
            {
                _rightExtends = value;
            }
        }

        public QueryParameter()
        {
            IsNoInit = true;
        }

        /// <summary>
        /// 构造 一般检索参数
        /// </summary>
        /// <param name="_ColumnName">字段名</param>
        /// <param name="_ColumnValue">字段值</param>
        /// <param name="_Operator">运算操作符</param>
        public QueryParameter(string ColumnName, object ColumnValue, QueryMethodOperator Operator, QueryDataType DataType)
        {
            _leftExtends = "";
            _rightExtends = ""; 
            this._ColumnName = ColumnName;
            this._ColumnValue = ColumnValue;
            this._Operator = Operator;
            this._DataType = DataType;
            IsNoInit = false;
            Logic = "AND";
        }

        public QueryParameter(string ColumnName, object ColumnValue, QueryMethodOperator Operator, QueryDataType DataType,
            string LeftExtend,string RightExtend)
        {
            _leftExtends = LeftExtend;
            _rightExtends = RightExtend; 
            this._ColumnName = ColumnName;
            this._ColumnValue = ColumnValue;
            this._Operator = Operator;
            this._DataType = DataType;
            IsNoInit = false;
            Logic = "AND";
        }

        /// <summary>
        /// 构造 Between 运算检索参数
        /// </summary>
        /// <param name="_ColumnName"></param>
        /// <param name="_BetweenValue1"></param>
        /// <param name="_BetweenValue1"></param>
        /// <param name="_DataType"></param>
        public QueryParameter(string ColumnName, object BetweenValue1, object BetweenValue2, QueryDataType DataType)
        {
            _IsBetween = true;
            this._ColumnName = ColumnName;
            this._DataType = DataType;
            this._BetweenValue1 = BetweenValue1;
            this._BetweenValue2 = BetweenValue2;
            IsNoInit = false;
            Logic = "AND";
        }

        /// <summary>
        /// 获得字符串结果
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            string ValueString = "";
            string valueBetween1 = "";
            string valueBetween2 = "";
            string vergeSymbol_left = "";
            string vergeSymbol_right = "";

            if (IsNoInit == true)
            {
                return "";
            }
            else
            {
                if (_DataType == QueryDataType.String)
                {
                    vergeSymbol_left = "'";
                    vergeSymbol_right = "'";
                }
                else if (_DataType == QueryDataType.Number)
                {
                    vergeSymbol_left = "";
                    vergeSymbol_right = "";
                }
                else if (_DataType == QueryDataType.AccessDbDate)
                {
                    vergeSymbol_left = "#";
                    vergeSymbol_right = "#";
                }
                else if (_DataType == QueryDataType.IN)
                {
                    vergeSymbol_left = "(";
                    vergeSymbol_right = ")";
                }

                if (_IsBetween)
                {
                    valueBetween1 += vergeSymbol_left + _BetweenValue1.ToString() + vergeSymbol_right;
                    valueBetween2 += vergeSymbol_left + _BetweenValue2.ToString() + vergeSymbol_right;
                    return _leftExtends + _ColumnName + " BETWEEN (" + valueBetween1 + " AND " + valueBetween2 + ")" + _rightExtends;
                }
                else
                {
                    ValueString += vergeSymbol_left + _ColumnValue.ToString() + vergeSymbol_right;
                    return _leftExtends + _ColumnName + " " + getOperatorString(_Operator) + " " + ValueString + _rightExtends;
                }
            }
        }

        /// <summary>
        /// 获得操作运算符
        /// </summary>
        /// <param name="qmo"></param>
        /// <returns></returns>
        private string getOperatorString(QueryMethodOperator qmo)
        {
            switch (qmo)
            {
                case QueryMethodOperator.Equation:
                    return "=";
                    break;
                case QueryMethodOperator.In:
                    return "IN";
                    break;
                case QueryMethodOperator.Like:
                    return "Like";
                    break;
                case QueryMethodOperator.NotEquation:
                    return "<>";
                    break;
                case QueryMethodOperator.BigTo:
                    return ">";
                    break;
                case QueryMethodOperator.SmallTo:
                    return "<";
                    break;
            }
            return null;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -