当前位置: 技术问答>java相关
数据库查询Where子句问题?
来源: 互联网 发布时间:2015-11-10
本文导语: 我想实现一个多条件查询的功能,譬如有6个或6个以上。 在页面上有6个或6个以上的对应的文本框,可以输入查询的条件。能否可以实现输入任意的一个或多个组合实现查询功能。 可以根据一个条件、二个条件。...
我想实现一个多条件查询的功能,譬如有6个或6个以上。
在页面上有6个或6个以上的对应的文本框,可以输入查询的条件。能否可以实现输入任意的一个或多个组合实现查询功能。
可以根据一个条件、二个条件。。。。六个条件查询吗?
如果每一个条件就写一个where子句,真是太麻烦了,有什么好的简便的方法吗?
多谢指教!
在页面上有6个或6个以上的对应的文本框,可以输入查询的条件。能否可以实现输入任意的一个或多个组合实现查询功能。
可以根据一个条件、二个条件。。。。六个条件查询吗?
如果每一个条件就写一个where子句,真是太麻烦了,有什么好的简便的方法吗?
多谢指教!
|
以3个为例,更多个可以用同样的方法扩展
String f1=request.getParameter("f1");
String f2=request.getParameter("f2");
String f3=request.getParameter("f3");
String sql="select * from tablename where 1=1 ";
if(!f1.trim().equals(""))
sql+=" or fieldname1='"+f1+"' ";
if(!f2.trim().equals(""))
sql+=" or fieldname2='"+f2+"' ";
if(!f3.trim().equals(""))
sql+=" or fieldname3='"+f3+"' ";
Result rs=stm.executeQuery(sql);
String f1=request.getParameter("f1");
String f2=request.getParameter("f2");
String f3=request.getParameter("f3");
String sql="select * from tablename where 1=1 ";
if(!f1.trim().equals(""))
sql+=" or fieldname1='"+f1+"' ";
if(!f2.trim().equals(""))
sql+=" or fieldname2='"+f2+"' ";
if(!f3.trim().equals(""))
sql+=" or fieldname3='"+f3+"' ";
Result rs=stm.executeQuery(sql);
|
你参照我的看看:
strsql = "select * from table1 where 1 = 1 "
if trim(request("n"))"" then
strsql = strsql &" and n like '%" &trim(request("n")) &"%'"
end if
if trim(request("b"))"" then
strsql=strsql & " and b like '%" &trim(request("b")) & "%'"
end if
if trim(request("lessor"))"" then
strsql=strsql & " and c like '%" &trim(request("c")) & "%'"
end if
strsql = "select * from table1 where 1 = 1 "
if trim(request("n"))"" then
strsql = strsql &" and n like '%" &trim(request("n")) &"%'"
end if
if trim(request("b"))"" then
strsql=strsql & " and b like '%" &trim(request("b")) & "%'"
end if
if trim(request("lessor"))"" then
strsql=strsql & " and c like '%" &trim(request("c")) & "%'"
end if