复合查询

        /// <summary>
        /// 复合查询
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCheck_Click(object sender, EventArgs e)
        {
            //方法一
            //StringBuilder sb = new StringBuilder();
            //sb.Append("select * from T_Customers where 1=1\n");
            //if (ckbName.Checked)
            //{
            //    sb.Append("and Name like @name\n");
            //}
            //if (ckbPhone.Checked)
            //{
            //    sb.Append("and Phone like @phone\n");
            //}
            //if (ckbCarNum.Checked)
            //{
            //    sb.Append("and CarNum like @carnum\n");
            //}
            //MessageBox.Show(sb.ToString());

            //方法二
            List<string> listWhere = new List<string>();
            if (ckbName.Checked)
            {
                listWhere.Add("Name like @name\n");
            }
            if (ckbPhone.Checked)
            {
                listWhere.Add("Phone like @phone\n");
            }
            if (ckbCarNum.Checked)
            {
                listWhere.Add("CarNum like @carnum\n");
            }
            string sql = "select * from T_Custumers\n";
            if (listWhere.Count>0)
            {
                string sqlWhere = string.Join("and ", listWhere.ToArray());
                sql += " where " + sqlWhere;
            }
            MessageBox.Show(sql);

        }

感谢来访,共同学习!
原文地址:https://www.cnblogs.com/dingxiaowei/p/3058760.html