那么就加入判断被
String sql="";
if(xxx)
   sql="xdfklasdjfla";
else if(xxx)
   sql="dfdasfasd";
.
.
.
.
.

解决方案 »

  1.   

    String condition=new String();
    String param1=(String)request.getParameter("p1");
    if((param1!=null) && (param1!="")) {
        condition=condition + param1 + " and ";
    }
    String param2=(String)request.getParameter("p2");
    if((param2!=null) && (param2!="")) {
        condition=condition + param2 + " and ";
    }
    ......
    if((condition!=null) && (condition!="")) {
        condition=condition.substring(0,condition.length()-4);  //去掉最后的五个字符" and "
        String sqlstr="select * from yourtable where " + condition;
    }
      

  2.   

    你试试下面的:
    String condition=new String();
    String sqlstr=new String();
    String param1=(String)request.getParameter("p1");
    if((param1!=null) && (param1!="")) {
        condition=condition +"column1='"+ param1 + "' and ";
    }
    String param2=(String)request.getParameter("p2");
    if((param2!=null) && (param2!="")) {
        condition=condition +"column2='"+ param2 + "' and ";
    }
    ......
    if((condition!=null) && (condition!="")) {
       condition=condition.substring(1,condition.length()-4);//去掉最后的五个字符" and "
       sqlstr="select * from yourtable where " + condition;
    } else {
       sqlstr="select * from yourtable";
    }
      

  3.   

    感谢!
    但是我有些地方不明白
    为什么要length()-4!这句话能不能解释一下!
    寻求解释,谢谢啦!
      

  4.   

    condition.length()是取的字符串的长度,
    实际字符串的长度要加1,减去五之后就是condition.length()-4.
      

  5.   

    因为" and "是五个字符.
      

  6.   

    只要字符串不为空,那么它后面总带有" and "五个字符.
      

  7.   

    那为什么不把前面的"and"去掉?
      

  8.   

    condition=condition + param1 + " and ";
    以及后面的语句
    把"and"去掉可以么?
      

  9.   

    如果去掉,那么两个字段间就少了一个" and ",SQL就会报错.
      

  10.   

    哦 
    是为了SQL语句加的,是吧
      

  11.   


    我是新手
    才学的
    JSP和SQL都是刚开始。
    所以有好多地方不会