StringBuffer sql;
  sql=new StringBuffer("SELECT * FROM INHPDJ");
     String jylx="";
     String hpcd="aaa";
     String pscd="";
     String inhpDate="bb";    sql.append(" WHERE ");
     if(jylx.length()!=0) sql.append(" HPTYPE='"+jylx+"' AND ");//就医类型
     if(hpcd.length()!=0) sql.append(" HPID='"+hpcd+"' AND ");//医院编号
     if(pscd.length()!=0) sql.append(" PSCD='"+pscd+"' AND ");//个人参保号
     if(inhpDate.length()!=0) sql.append(" INHPDATE LIKE '"+inhpDate+"%' AND ");
     String finalSQL=sql.toString();
     System.out.println(finalSQL);
     System.out.println("最后AND位置 "+finalSQL.lastIndexOf(" AND "));
     //因为AND拼在每一句最后面,所以有条件成立就肯定有AND 因此要去掉最有一个AND 否则没有AND的情况肯定是 没有任何条件成立 where也可以不要了
     finalSQL=finalSQL.substring(0,finalSQL.lastIndexOf(" AND ")>0?     finalSQL.lastIndexOf(" AND "):finalSQL.indexOf("WHERE"));
     System.out.println(finalSQL);

posted on 2013-03-01 11:20  Andy24  阅读(335)  评论(0编辑  收藏  举报