博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过拼接SQL字符串实现多条件查询
阅读量:6717 次
发布时间:2019-06-25

本文共 2961 字,大约阅读时间需要 9 分钟。

一、通过拼接SQL字符串的方法的好处是:

1、方便查询条件的扩展。

2、简化业务逻辑的判断。

二、例子:

1、界面设计

2、点击查询的代码

///         /// 按条件查询        ///         ///         ///         private void BtSearch_Click_1(object sender, EventArgs e)        {            List
wherelist = new List
(); List
parametlist = new List
(); if (CbMzh.Checked) { wherelist.Add("mzh=@mzh"); parametlist.Add(new SqlParameter("@mzh", TbMzh.Text)); } if (CbXm.Checked) { wherelist.Add("xm like '%'+@xm+'%'"); parametlist.Add(new SqlParameter("@xm", TbXm.Text)); } if (CbJbmc.Checked) { wherelist.Add("jbzd like '%'+@jbzd+'%'"); parametlist.Add(new SqlParameter("@jbzd", TbJbmc.Text)); } if (CbJzlb.Checked) { wherelist.Add("jzlb=@jzlb"); parametlist.Add(new SqlParameter("@jzlb", ComBoxJzlb.Text)); } if (CbJzks.Checked) { wherelist.Add("jzks=@jzks"); parametlist.Add(new SqlParameter("@jzks", TbJzks.Text)); } if (CbJzys.Checked) { wherelist.Add("jzys=@jzys"); parametlist.Add(new SqlParameter("@jzys", TbJzys.Text)); } if (CbJzrq.Checked) { wherelist.Add("jzrq between @start and @end"); string start = DpStart.Value.ToString("yyyy-MM-dd") + " 00:00:00"; string end = DpEnd.Value.ToString("yyyy-MM-dd") + " 23:59:59"; parametlist.Add(new SqlParameter("@start", start)); parametlist.Add(new SqlParameter("@end", end)); } if (CbJbmcjqcx.Checked) { wherelist.Add("jbzd = @jbzd"); parametlist.Add(new SqlParameter("@jbzd", TbJbmc1.Text)); } string whereSql = string.Join(" and ", wherelist); string sql = "select mzh,xm,xb,csny,age,pcid,jzks,jzys,jbzd,zddm,gzdw,jtzz,lxfs,jzlb,jzrq,xy from his_mzjzrz"; if (wherelist.Count > 0) { sql = sql + " where " + whereSql + " order by jzrq desc"; } else { MessageBox.Show("请选择检索条件!"); return; } DataTable dt = MsSqlHelper.ExecuteDataTable(sql, parametlist.ToArray()); MzrzGridView.DataSource = dt; toolStripStatusLabel2.Text = string.Format("共检索到{0}条记录", dt.Rows.Count.ToString()); toolStripProgressBar1.Minimum = 0; toolStripProgressBar1.Maximum = dt.Rows.Count; for (int i = 0; i <= dt.Rows.Count; i++) { toolStripProgressBar1.Value = i; } }

 

转载于:https://www.cnblogs.com/flywong/p/8341315.html

你可能感兴趣的文章
第三次作业结对编程
查看>>
jQuery总结(摘抄)
查看>>
_stat函数/struct stat 结构体使用笔记
查看>>
二分搜索 HDOJ 2289 Cup
查看>>
Byte[]、Image、Bitmap 之间的相互转换
查看>>
分布式全文检索引擎之ElasticSearch
查看>>
数组名和指针区别
查看>>
实现子数组和绝对值差最小 - Objective-C
查看>>
明天支付宝就开始提现收费了!这几招可以让你受用
查看>>
洛谷P4774 屠龙勇士
查看>>
mediascanner流程
查看>>
vue axios全攻略
查看>>
GZIP CSS JS
查看>>
HDU 3635 Dragon Balls
查看>>
基础DOM和CSS操作(三)
查看>>
HTTP 02 HTTP1.1 协议
查看>>
手机端网页web开发要点
查看>>
小弟浅谈asp.net页面生成周期---下
查看>>
正则表达式中 group groups区别
查看>>
JBoss + EJB3 + MySql : 开发第一个EJB
查看>>