首页 新闻 搜索 专区 学院

怎样实现像QQ查询那样的按条件查询?

0
悬赏园豆:10 [已解决问题] 解决于 2009-08-29 11:40

可以得到几个文本框的值,但是怎样去判断用户是否在文本框里面输入值,如果用空来判断的话,我有4个条件查询。那if语句不是要写很多条?我有点想不通,希望哪个大侠指点指点!

something的主页 something | 初学一级 | 园豆:5
提问于:2009-08-21 15:27
< >
分享
最佳答案
0

用ViewState和StringBuilder

StringBuilder strWhere = new StringBuilder();

在查询事件里

strWhere.Append(" 1=1 ");

if (!string.IsNullOrEmpty(this.txtWtnr.Text.Trim()))
        {
            strWhere.Append(" and  prob_desc like '%");
            strWhere.Append(this.txtWtnr.Text.Trim() + "%'");
        }

。。。看有几个文本框就有几个if

ViewState["where"] = strWhere.ToString();//给viewstate赋值

 

这样就可以了,ViewState["where"]里存的就是where的语句,把它传给你BLL层的查询方法就行了

收获园豆:10
IS黑山老妖 | 小虾三级 |园豆:550 | 2009-08-21 16:44
如果没刷新页面什么的操作,ViewState["where"] 可以不要,当然也可以当作参数给存储过程(园子修改功能不能用。。。)
IS黑山老妖 | 园豆:550 (小虾三级) | 2009-08-21 16:46
谢谢大家了,问题解决了,呵呵!
something | 园豆:5 (初学一级) | 2009-08-22 16:01
其他回答(2)
0

js就要首先判断为空不呢? 然后再做操作。

   用StringBuilder 来拼接sql。 反正你要用if来判断是否为空的。

seaven | 园豆:210 (菜鸟二级) | 2009-08-21 15:50
0

全部当参数传入存储过程,判断条件这么这么写
Exec(
  'select * from AAA where
      (XXX = ' + '''' + @XXX  + '''' + ' or ' + '''' + @XXX  + '''' + '='''')

West | 园豆:1095 (小虾三级) | 2009-08-21 16:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册