首页新闻找找看学习计划

.net中如何实现多条件搜索

0
悬赏园豆:20 [已解决问题] 解决于 2013-09-08 19:38

我用gridview导出了几个sql数据库里的表后,想实现多条件查询,由于里面的字段太多,同时由于不同人有不同的要求,例如一个人要查询年龄和性别这两个,另一个人要查询民族、班级等等几个条件。那么我该如何实现。。。。。。。。

回望未来的主页 回望未来 | 初学一级 | 园豆:4
提问于:2013-07-25 20:18
< >
分享
最佳答案
1

二个下拉框(一个装字段,一个装判断(大于,小于,等于)),一个文本框(当前条件的值)。

然后再后面有个按钮,添加条件,此时,将上面的上个标签,复制一份,表示第二个条件,同时增加一个选择框(条件是or 还是and)。点击确定时,构造条件,然后查询。

收获园豆:10
幻天芒 | 高人七级 |园豆:36522 | 2013-07-25 20:58

按你说的,那么是不是得为每个字段都添加一个判断的语句。点击添加语句后就在select后添加了一个判断条件。那么该怎么写。。。。

回望未来 | 园豆:4 (初学一级) | 2013-07-26 10:00

@回望未来: 这个客户来设置了,添加一个字段的条件,就多一个and 或者 or。默认只有一个条件,只有点“增加条件”之后,才会有第二个条件。

幻天芒 | 园豆:36522 (高人七级) | 2013-07-26 13:00
其他回答(3)
0

最简单的方法就是在后台拼接查询条件呀……

kingboy8808 | 园豆:6 (初学一级) | 2013-08-02 14:22
0

你看能不能直接把所有的查询都写好;

弄成隐藏的,用多选框放所有条件;

用户选择哪个显示那个;

默认的不写的条件全部查%;

seaconch | 园豆:4823 (老鸟四级) | 2013-08-07 13:22
0

假设你的条件表单如下结构:
<table id='sqlTable'>
<tr>
<td>
<input type="input" class='col1_col' text='字段' value='col1'/>
<input type="input" class='eq_opt' text='条件' value='='/>
<input type="input" class='xx_val' text='条件值' value='1'/>
</td>
<td>
<input type="input" class='xxx_con' text='or,and' value='or'/>
<input type="input" class='col2_col' text='字段' value='col2'/>
<input type="input" class='eq2_opt' text='条件' value='<'/>
<input type="input" class='xx2_val' text='条件值' value='2'/>
</td>
</tr>
<tr>
<td>
<input type='button' value='确定'/>
</td>
</tr>
</table>

这里的脚本只是个思路,纯手工盲打没有测试,难免有错,见谅,参考思路即可。

$(document).ready(function(){
  var sqlString = "";
  $("#button").click(function(){
    $("table#sqlTable tr td").each(function(){
      var col = $(this).children("[class$='col']").val();
      var op = $(this).children("[class$='opt']").val();
      var val = $(this).children("[class$='val']").val();
      var orAnd = "";
      if($(this).children("[class$='con']").length >0)
        orAnd = $(this).children("[class$='con']").val();

      sqlString =sqlString + col + op +val;
    });
  });
});

收获园豆:10
袁家小黑球 | 园豆:1045 (小虾三级) | 2013-08-19 09:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册