黑马程序员_学习日记55_628三层项目(用类封装用于拼接的where条件语句、写代码生成器)

一、用类封装用于拼接的where条件语句(三层实现多条件搜索)

(一)   思想:

多条件搜索时拼接where条件语句,以前是在查询方法中用List<string>List<SqlParameter>分别存储where条件语句和查询参数,这样做确实很好的解决了多条件查询的问题,但where条件语句和查询参数的集合一旦需要修改,必须进入查询方法修改源代码,不利于程序的扩展。

在此,用Condition类将where条件语句封装起来,需要增加查询条件时,只需实例化一个新的Condition对象,无须修改查询方法。在DAL层中还是要用到List<string>List<SqlParameter>集合。

(二)具体代码:

1Condition类:

    ///<summary>

    ///拼接where语句的条件有共性:列名、条件比较符、比较值,可以用Condition类封装

    ///</summary>

    public class Condition

    {

        ///<summary>

        ///属性名或者数据库中的列名

        ///</summary>

        public string PropertyName

        {

            get;

            set;

        }

        //属性对应的值

        public object Value

        {

            get;

            set;

        }

        public Operator Operation

        {

            get;

            set;

        }

    }

 

    public enum Operator

    {

        Equal,

        NotEqual,

        GreaterThan,

        LessThan,

        Like

    }

2UI层实例化Condition对象,并加入List<Condition>集合

        private void btnSearch_Click(object sender, EventArgs e)

        {

            List<Condition> listWhere = new List<Condition>();

            if (txtName.Text.Trim().Length>0)

            {

                Condition condition = new Condition();

                condition.PropertyName = "BookName";

                condition.Value = txtName.Text.Trim();

                condition.Operation = Operator.Like;

                listWhere.Add(condition);

            }

            if

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值