String sql ="SELECT DISTINCT head1.PartNO,head1.denomination,filmre.seriesifa,filmre.ifageneral,head2.LS,woundlead.pins FROM head1 ,head2 ,woundlead ,filmre WHERE head1.PartNO like '"+partno1+"%' AND head1.denomination LIKE '"+basicfilm1+"%' AND filmre.ifageneral="+generalifa1+" AND filmre.seriesifa="+seriesifa1+" AND head2.LS="+LS1+" AND woundlead.pins="+pins1+" AND head2.PartNO like '"+partno1+"%' AND head2.PartNO = woundlead.PartNO AND woundlead.PartNO = filmre.PartNO GROUP BY head1.PartNO"; 这是我最近做的,设置默认值,如果是默认值就不起过滤作用
每当用户添加一个条件就增加 and xxx = xxx
这样就可以了
有条件才执行后面的 条件 没条件执行 select * from 表 where 1=1 了
if(startTime != null){
whereSql += " and addTime >= ?" ;
params.add(startTime);
}
//如果结束时间不为空
if(endTime != null){
whereSql += " and addTime <= ?";
params.add(endTime);
}
if(endTime != null && startTime != null){
whereSql += " and (addTime >= ? and addTime <= ?)" ;
params.add(startTime);
params.add(endTime);
}
String basicfilm1=(basicfilm.equals("0"))?"M":basicfilm;
String pins1=(pins.equals("0"))?"pins":pins;
String LS1=(LS.equals("0"))?"LS":LS;
String seriesifa1=(seriesifa.equals("0"))?"seriesifa":seriesifa;
String generalifa1=(generalifa.equals("0"))?"ifageneral":generalifa;
out.print(generalifa1+"<br>");
out.print(pins1+"<br>");
out.print(seriesifa1+"<br>");
out.print(LS1+"<br>");
String sql ="SELECT DISTINCT head1.PartNO,head1.denomination,filmre.seriesifa,filmre.ifageneral,head2.LS,woundlead.pins FROM head1 ,head2 ,woundlead ,filmre WHERE head1.PartNO like '"+partno1+"%' AND head1.denomination LIKE '"+basicfilm1+"%' AND filmre.ifageneral="+generalifa1+" AND filmre.seriesifa="+seriesifa1+" AND head2.LS="+LS1+" AND woundlead.pins="+pins1+" AND head2.PartNO like '"+partno1+"%' AND head2.PartNO = woundlead.PartNO AND woundlead.PartNO = filmre.PartNO GROUP BY head1.PartNO";
这是我最近做的,设置默认值,如果是默认值就不起过滤作用