帮我解决下好吗?? 以下是我的代码: String sql = "select * from patent where 1=1";
int i=0;
String[] strVar=new String[6];
ResultSet rs = null;
PageModel pageModel = null;
try {
if(!search.getSch_titie().equals("") ){
sql=sql+" and patent_title like '%?%' ";
i++;
System.out.println("sql-"+i+"="+sql);
strVar[i]=search.getSch_titie();
}
if(!search.getSch_publisher().equals("")){
sql=sql+" and publisher like '%?%' ";
i++;
System.out.println("sql-"+i+"="+sql);
strVar[i]=search.getSch_publisher();
}
if(search.getIsPub().equals("0")){
sql=sql+" and patent_state=? ";
i++;
System.out.println("sql-"+i+"="+sql);
strVar[i]=search.getIsPub();
}else if(search.getIsPub().equals("1")){
sql=sql+" and patent_state=? ";
i++;
System.out.println("sql-"+i+"="+sql);
strVar[i]=search.getIsPub();
} if(!search.getBegingTime().equals("") && !search.getEndTime().equals("") ){
sql=sql+" and pub_time between ? and ? ";
i++;
System.out.println("sql-"+i+"="+sql);
strVar[i]=search.getBegingTime();
i++;
System.out.println("sql-"+i+"="+sql);
strVar[i]=search.getEndTime();
}else{ if(!search.getBegingTime().equals("")){
sql=sql+" and pub_time >= ? ";
i++;
strVar[i]=search.getBegingTime();
}
if(!search.getEndTime().equals("")){
sql=sql+" and pub_time <= ? ";
i++;
strVar[i]=search.getEndTime();
}
}
psts = dbm.updateSql(sql);
System.out.println(sql);
if(i>=1){
for(int j=1;j <= i;j++){
System.out.println("---"+j+"----->>"+"strVar"+j+"="+strVar[j]);
psts.setString(j, strVar[j-1]); //设置参数的地方,也是报错的地方
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货