当前位置: 技术问答>java相关
求教!!!jsp中多重查询该怎么做??什么算法最适用?最高效???
来源: 互联网 发布时间:2015-09-24
本文导语: 比如我有6个条件topic,address,begin_time,end_time,status,content 要求能根据其中任何几种进行查询,那么我的判断语句该怎么写? 紧急求救中!!! | 很簡單,設一個變量isFirst=true,判斷是不是第一個條件. Strin...
比如我有6个条件topic,address,begin_time,end_time,status,content
要求能根据其中任何几种进行查询,那么我的判断语句该怎么写?
紧急求救中!!!
要求能根据其中任何几种进行查询,那么我的判断语句该怎么写?
紧急求救中!!!
|
很簡單,設一個變量isFirst=true,判斷是不是第一個條件.
String strSQL="select * from table1 ";
String str=null;
str=(String)request.getParameters("topic");
if (str!=null){
if(isFirst==true){
strSQL+="where topic='"+str+"' ";
isFirst=false;
}
}
str=(String)request.getParameters("address");
if (str!=null){
if(isFirst==true){
strSQL+="where address='"+str+"' ";
isFirst=false;
}else{
strSQL+=' and address='"+str+'' ";
}
}
str=(String)request.getParameters("begin_time");
if (str!=null){
if(isFirst==true){
strSQL+="where begin_time='"+str+"' ";
isFirst=false;
}else{
strSQL+=' and begin_time='"+str+'' ";
}
}
.
.
.
以此類推
String strSQL="select * from table1 ";
String str=null;
str=(String)request.getParameters("topic");
if (str!=null){
if(isFirst==true){
strSQL+="where topic='"+str+"' ";
isFirst=false;
}
}
str=(String)request.getParameters("address");
if (str!=null){
if(isFirst==true){
strSQL+="where address='"+str+"' ";
isFirst=false;
}else{
strSQL+=' and address='"+str+'' ";
}
}
str=(String)request.getParameters("begin_time");
if (str!=null){
if(isFirst==true){
strSQL+="where begin_time='"+str+"' ";
isFirst=false;
}else{
strSQL+=' and begin_time='"+str+'' ";
}
}
.
.
.
以此類推
|
还是zhangjianguo(笨笨)的对
|
String sql="select * from user where 1=1";
if(topic!=null||topic.equals(""))
sql+=" and topic='"+topic+"'";
if(address!=null||address.equals(""))
sql+=" and address='"+address+"'";
...............
if(topic!=null||topic.equals(""))
sql+=" and topic='"+topic+"'";
if(address!=null||address.equals(""))
sql+=" and address='"+address+"'";
...............