jsp 实现模糊查询
按照图片选的条件进行搜索数据库里的内容.例如;TEXT框的name=zpmc多选框的name分别为:csdx,zplx,zpfgTEXT框的name为zz,dw数据库与其...
按照图片选的条件进行搜索数据库里的内容.
例如;TEXT框的name=zpmc
多选框的name分别为:csdx,zplx,zpfg
TEXT框的name为zz,dw
数据库与其有关的表,和列的名为:student(表名),zpmc,csdx,zplx,zpfg,zz,dw(列名)
应该先判断是否为空..后再...
我的语句这样:
String sql = "SELECT * FROM ppt WHERE 1=1";
if(!zpmc.equals("")&&zpmc!=null){
sql=sql+ " OR zpmc like '%"+zpmc+"%'";
}else
if(!csdx.equals("")&&csdx!=null){
sql=sql+ " OR csdx like '%"+csdx+"%'";
}else
if(!zplx.equals("")&&zplx!=null){
sql=sql+ " OR zplx like '%"+zplx+"%'";
}else
if(!zpfg.equals("")&&zpfg!=null){
sql=sql+ " OR zpfg like '%"+zpfg+"%'";
}else
if(!zz.equals("")&&zz!=null){
sql=sql+ " OR zz like '%"+zz+"%'";
}else
if(!dw.equals("")&&dw!=null){
sql=sql+ " OR dw like '%"+dw+"%'";
}
------------------------------------------------------------
搜索出来的不符合我的意思..
String zpmc = request.getParameter("zpmc");
String csdx = request.getParameter("csdx");
String zplx = request.getParameter("zplx");
String zpfg = request.getParameter("zpfg");
String zz = request.getParameter("zz");
String dw = request.getParameter("dw"); 展开
例如;TEXT框的name=zpmc
多选框的name分别为:csdx,zplx,zpfg
TEXT框的name为zz,dw
数据库与其有关的表,和列的名为:student(表名),zpmc,csdx,zplx,zpfg,zz,dw(列名)
应该先判断是否为空..后再...
我的语句这样:
String sql = "SELECT * FROM ppt WHERE 1=1";
if(!zpmc.equals("")&&zpmc!=null){
sql=sql+ " OR zpmc like '%"+zpmc+"%'";
}else
if(!csdx.equals("")&&csdx!=null){
sql=sql+ " OR csdx like '%"+csdx+"%'";
}else
if(!zplx.equals("")&&zplx!=null){
sql=sql+ " OR zplx like '%"+zplx+"%'";
}else
if(!zpfg.equals("")&&zpfg!=null){
sql=sql+ " OR zpfg like '%"+zpfg+"%'";
}else
if(!zz.equals("")&&zz!=null){
sql=sql+ " OR zz like '%"+zz+"%'";
}else
if(!dw.equals("")&&dw!=null){
sql=sql+ " OR dw like '%"+dw+"%'";
}
------------------------------------------------------------
搜索出来的不符合我的意思..
String zpmc = request.getParameter("zpmc");
String csdx = request.getParameter("csdx");
String zplx = request.getParameter("zplx");
String zpfg = request.getParameter("zpfg");
String zz = request.getParameter("zz");
String dw = request.getParameter("dw"); 展开
4个回答
2015-12-13 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
jsp模糊查询是根据页面上输入的关键字进行部分匹配来实现的。分为前向检索和后项检索。
这个主要是在sql端实现的,只要页面参数选择正确:
比如:
查询所有员工姓名中第二个字符为A的员工信息
select * from emp where ename like '_A%';
查询员工姓名中包含E的员工信息
select * from emp where ename like '%E%';
查询20部门员工姓名中包含E的员工信息
查询20部门员工,职位为'MANAGER',姓名中包含E的员工信息
查询20部门员工,职位为'MANAGER',姓名的第二个字符为A,最后一个字符为E的员工信息
查询20部门员工,职位为'MANAGER',姓名的包含S并且包含E的员工信息
这个主要是在sql端实现的,只要页面参数选择正确:
比如:
查询所有员工姓名中第二个字符为A的员工信息
select * from emp where ename like '_A%';
查询员工姓名中包含E的员工信息
select * from emp where ename like '%E%';
查询20部门员工姓名中包含E的员工信息
查询20部门员工,职位为'MANAGER',姓名中包含E的员工信息
查询20部门员工,职位为'MANAGER',姓名的第二个字符为A,最后一个字符为E的员工信息
查询20部门员工,职位为'MANAGER',姓名的包含S并且包含E的员工信息
展开全部
补充:
lz是否指在一个文本框中输入多个关键字?如果是的话,用分隔符(一般是逗号)把这几个关键词分解出来:
conditions.split(" ");
然后把每个关键词都拼接到查询语句中去就行了。最后拼接的过程如:
where columnname like "'%" + condition[0] +"%'" and columnname like "'%" + condition[1] +"%'"
===================
如果lz是使用数据库,那么查询时,使用 where columnname like "'%" + condition +"%'"就可以了,%是通配符
lz是否指在一个文本框中输入多个关键字?如果是的话,用分隔符(一般是逗号)把这几个关键词分解出来:
conditions.split(" ");
然后把每个关键词都拼接到查询语句中去就行了。最后拼接的过程如:
where columnname like "'%" + condition[0] +"%'" and columnname like "'%" + condition[1] +"%'"
===================
如果lz是使用数据库,那么查询时,使用 where columnname like "'%" + condition +"%'"就可以了,%是通配符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主应该是要实现的是一个查询的功能吧,但你的方法显然是很……麻烦的,从request对象中,你可以获取到传入servlet的参数的key和values,这个key不就是你数据库中的列,而这个values不就是你的模糊条件吗?不知你懂没懂?说的是我自己的想法,我一直都这么做的,比较的简单,代码比较的简单,而且也很少
追问
我不懂..能给些例子我吗-_-!..麻烦了!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是多选框出问题了吧,多选框值的接收应用String csdx[] = getParameterValues("csdx");
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询