这里的主要难点是在搜索身高这里,在数据库中存在的是175,要搜索的确是165 到176之间。那么前台的搜索就要传入两个值进行组合查询。搜索的条件就是 身高这个字段的值必须大于165并且小于176这个范围内的。
具体操作如下(这里假如传入进来的参数分别为sg1 和 sg2):
一、定义接收参数的类型:
private int sg1 = 0; private int sg2 = 0;
二、接收参数
if (!string.IsNullOrEmpty(Request.QueryString["sg1"])) { try { sg1 = int.Parse(Request.QueryString["sg1"]); } catch { } }
if (!string.IsNullOrEmpty(Request.QueryString["sg2"])) { try { sg2 = int.Parse(Request.QueryString["sg2"]); } catch { } }
三、条件组合筛选(这里假设身高在数据库中的字段为:sg)
strWhere.Append("sg[Integer](>=)" + sg1 + "@and;sg[Integer](<=)" + sg2 + "@and;");
改造完成,希望此教程对你有所帮助。
至于学历搜索问题:
在数据字典中Text和Value的值分别为
小学(1)
初中(2)
高中(3)
大专(4)
本科(5)
.....
加入没有勾选复选框,参数值是1 勾选了复选框参数值是2
那么就可以根据这个参数值来写搜索条件了:
这里假设学历的字段为xl
if(xl==1){strWhere.Append("xl[Integer](=)" + xl + "@and;");}else{strWhere.Append("xl[Integer](>=)" + xl + "@and;");}
就是这样简单。