C# 多条件查询

问题描述

刚学C#,新手,望大家帮忙解答一下1:要从两个时间段:例如选取2013-10-10至2013-10-30之间的数据用dateTimePicker1dateTimePicker22:单据的状态有三种1:未付款2:已付款3:全部radioButton1radioButton2radioButton33:按照客户名字查询combobox1请问这一种多条件查询应该怎么写!stringsql2="select*fromTY2010_XSFHPARwhereSHRQ>=#"+dateTimePicker1.Value.Date.ToString()+"#andSHRQ<=#"+dateTimePicker2.Value.Date.ToString()+"#";if(radioButton3.Checked){sql2=sql2+"and1=1";}if(radioButton1.Checked){sql2=sql2+"andflag='0'";}if(radioButton2.Checked){sql2=sql2+"andflag='1'";备注:FLAG是标记是否付款的字段刚学习,问题有点傻,请不要见怪!

解决方案

解决方案二:
stringsql2;stringflag="";if(radioButton3.Checked)//全部{flag="1=1";}if(radioButton1.Checked)//未付款{flag="flag='0'";}if(radioButton2.Checked)//已付款{flag="flag='1'";}sql2="select*fromTY2010_XSFHPARwhereSHRQbetween#"+dateTimePicker1.Value.ToString("yyyy/MM/ddHH:mm:ss")+"#and#"+dateTimePicker2.Value.Date.ToString("yyyy/MM/ddHH:mm:ss")+"#and"+flag;

解决方案三:
修改一下:stringsql2;stringflag="";stringguest="";if(radioButton3.Checked){flag="1=1";}elseif(radioButton1.Checked){flag="flag='0'";}elseif(radioButton2.Checked){flag="flag='1'";}else{MessageBox.Show("请选择付款方式");}guest=comboBox1.SelectedItem.ToString().Trim();//客户名字sql2="select*fromTY2010_XSFHPARwhere 客户='"+guest+"'andSHRQbetween#"+dateTimePicker1.Value.ToString("yyyy/MM/ddHH:mm:ss")+"#and#"+dateTimePicker2.Value.Date.ToString("yyyy/MM/ddHH:mm:ss")+"#and"+flag;

解决方案四:
楼上的高手写的挺仔细的,学习下.
解决方案五:
你无需判断radioButton3.Checked。这个控件只是用来参与确保同一组RadioButton中只能有一个选中就够了,它用不着参与拼sql的工作。
解决方案六:
注意,在你的UI设计中,要将三个RadioButton设置为一组(组名相同),保证只能有一个按钮选中。能不写代码的,就不要写代码。要擅用控件现成的特性来实现一部分业务逻辑控制。
解决方案七:
注意拼凑字符的时候的格式别出错就行
解决方案八:
sql怎么也好说,但是你把sql写在代码里面实在是没必要。
解决方案九:
如果这样将变量填加至字符串中的话容量出错,且不安全,建议用select*fromTY2010_XSFHPARwhereSHRQbetween?and?andflag=?然后以参数的形式去填加值就可以了。cmd.parameters.add("@SHRQ",odbctype.date).values=dateTimePicker1.Value.Date;cmd.parameters.add("@SHRQ",odbctype.date).values=dateTimePicker2.Value.Date;cmd.parameters.add("flag",odbctype.char).values=radioButton3;大概是这个意思,最后一个可以提前判断然后
解决方案十:
写存储过程,定义三个变量:开始时间、结束时间和flag,然后在代码里调用。养成习惯少把查询语句写到代码里。

时间: 2024-09-13 20:23:44

C# 多条件查询的相关文章

MVC 多条件查询,带分页的

问题描述 MVC 多条件查询,带分页的 这是绑定的代码,获取前台 Request.Form[""name""],后怎么增加查询条件 page = page == null ? 1 : page; rows = rows == null ? 1 : rows; List<TBL_M_SECURITY_STAFF> list = db.TBL_M_SECURITY_STAFF.OrderBy(a => a.Security_Staff_ID).Skip

使用准则进行条件查询--1.4.从窗体中选择查询的条件

4.从窗体中选择查询的条件 前面的方法虽然简单,但对用户来说操作不够方便,对设计者来说也难以控制,如果通过窗体来实现,这些问题就可以解决了. 如下面的窗体,运行时用户可以在组合框中选择要查询司机的姓名,按下查询按钮就可以看到查询的结果. 下面详细地列出设计的步骤: 创建一个窗体,按下控件向导按钮,在窗体上添加一个组合框.在第一个对话框中选择"我想让组合框在一个表或查询中查找这些值",下一步. 选择一个为组合框提供数据的表或查询.下一步. 选择组合框中要显示的数据,通常除了选择要显示在组

ASP项目中的通用条件查询模块

一.提出问题:    在大型的ASP项目中,都涉及到了条件查询这一功能.用户要求能够针对特定的字段进行查询.对于有些数据,是从多个表取出来的,因此也要能对多个表进行查询.    一般的话,大多数的做法就是每个程序都做一个查询功能,因为每个查询的表都不同,涉及的字段也不同.但是,如果在大型的ASP项目中这么做的话,不仅增加了工作量.影响开发进度,而且不能使系统模块化.代码复用,增加了系统维护难度.因此,我们有必要使条件查询模块化. 二.解决思路:    我们设计条件查询的功能为:    1.选择查

一个简单实现多条件查询的例子

在我们的网站设计过程中,经常会用到多条件查询,本文的源码是一个二手房屋查询的例子.在本例中,我们要实现能够通过地理位置,物业类型,房屋价格,房屋面积及信息发布日期等多个条件查询到客户所需的资料.以下是实现过程. 查询条件界面(略): 查询文件(search.php) 一.生成查询语句: <? $conn=mysql_connect("localhost","root",""); $db=mysql_select_db("lingy

NHibernate之旅(4):探索查询之条件查询(Criteria Query)

本节内容 NHibernate中的查询方法 条件查询(Criteria Query) 1.创建ICriteria实例 2.结果集限制 3.结果集排序 4.一些说明 根据示例查询(Query By Example) 实例分析 结语 上一节,我们介绍了NHibernate查询语言的一种:NHibernate查询语言(HQL,NHibernate Query Language),这一节介绍一下条件查询(Criteria API). NHibernate中的查询方法 在NHibernate中提供了三种查

Java正则表达式实现条件查询浅析

Java正则表达式实现条件查询实例是如何的呢?我们在实际开发的过程中会碰到这样子的实际需求,那么我们来看看具体的实现过程,希望对你有所帮助. Java正则表达式实现条件查询实例: //Java正则表达式实现条件查询的要求:以正则条件查询指定目录下文件 //用于缓存文件列表 private ArrayList files = new ArrayList(); //用于承载文件路径 private String _path; //用于承载未合并的正则公式 private String _regexp

mysql条件查询if case用法

  where条件查询 代码如下 select * from news where DATE(adddate) between '2011-04-20' - INTERVAL 5 DAY and '2011-04-20' + INTERVAL 5 DAY select * from news where DATE(adddate) in ('2011-04-20','2011-04-15','2011-04-25') IF条件语句的使用 mysql条件判断语句if的使用:先判断数据库中是否存在是

数据-请教如何实现多条件查询?

问题描述 请教如何实现多条件查询? 例如,我有三个个列一个为防伪码,一个为产品名称,一个为产品价格.输入防伪码可以显示产品名称和价格现在我只能一次查询一个防伪码,多了就不显示数据,请问如何实现同时查询多个防伪码,然后显示多条数据? 解决方案 where 后面的条件用or方式啊比如where code = 1 or code = 2 or code = 3;这样 希望能帮到你. 解决方案二: select * from XXXX where 防伪码 in ( 123) 这样也行呀,这样写方便于拼动

MVC EasyuiDatagrid多条件查询,怎么把数据传到后台

问题描述 MVC EasyuiDatagrid多条件查询,怎么把数据传到后台 前台数据分页绑定,都已经做好了,想做个查询,多条件的,怎么点查询,把数据传到后台,后台处理后返回数据,前台怎么再绑定 解决方案 load param Load and show the first page rows. If the 'param' is specified, it will replace with the queryParams property. Usually do a query by pas

easyui-easyUI先提交form表单做条件查询返回的结果加载到datagrid中,应该怎么做?

问题描述 easyUI先提交form表单做条件查询返回的结果加载到datagrid中,应该怎么做? 我是这么写的,但是这样form表单提交不到后台去,不知道怎么做 $('#tt').datagrid({ pageNumber : curr url : $('#bas').val() + '/showUser.action' onLoadSuccess : function() { } onLoadError : function() { $('#tt').datagrid('appendRow'