asp.net中多条件查询的问题
使用vs2008做了一个数据库查询的页面,查询条件有三个下拉列表,还有两个日期输入框,使Gridview显示属性值等于三个下拉列表并且日期在两个输入的日期之前的字段。我有...
使用vs2008做了一个数据库查询的页面,查询条件有三个下拉列表,还有两个日期输入框,使Gridview显示属性值等于三个下拉列表并且日期在两个输入的日期之前的字段。我有两个问题,一个是如何让Gridview在一开始显示所有值,输入查询条件点查询按钮后才过滤条件。第二个是当用户没有选择值或者没有输入日期时则不按此条件过滤,如何实现,使用if语句的话太复杂了吧
一楼回答的我有点不明白,我说的更具体些,比如第一个下拉列表,有三个值,分别为全部、男主人、女主人。默认为全部,数据库中该属性为mid,分男主人和女主人两个值。当用户选择男主人时,sql条件语句可以是where mid=dropdownlist1.value,可如果用户不选,这条语句就不行了,因为数据库中没有 全部 这个值。应该怎么做?
日期的那个我可以通过设置默认值来解决,只剩下这一个问题了 展开
一楼回答的我有点不明白,我说的更具体些,比如第一个下拉列表,有三个值,分别为全部、男主人、女主人。默认为全部,数据库中该属性为mid,分男主人和女主人两个值。当用户选择男主人时,sql条件语句可以是where mid=dropdownlist1.value,可如果用户不选,这条语句就不行了,因为数据库中没有 全部 这个值。应该怎么做?
日期的那个我可以通过设置默认值来解决,只剩下这一个问题了 展开
2个回答
展开全部
使用存储过程。
select * from 表
where 条件1 like @条件1 and 条件2 like @条件2 and 条件3 like @条件3
and 日期 between @sdate and @edate
说明
@条件1,2,3的参数应该是 '%这里是查询参数%',如果查询参数为全部则为%
@sdate ,@edate 如果没有输入日期,默认日期应该为1753-1-1 与9999-1-1
select * from 表
where 条件1 like @条件1 and 条件2 like @条件2 and 条件3 like @条件3
and 日期 between @sdate and @edate
说明
@条件1,2,3的参数应该是 '%这里是查询参数%',如果查询参数为全部则为%
@sdate ,@edate 如果没有输入日期,默认日期应该为1753-1-1 与9999-1-1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询