我想在一个页面多项查询,先试下两项的就出错了,列位看看怎回事?谁能给个好用的例子,
用来将页面上的多项做不定项的选择,多谢
 此中name是char类型,name是int型。报错为:
';' expected
     { }else{sql+= " objectname = '"name"'";}
                                    ^
1 error
下是部分代码:
    String name =request.getParameter("objectN");
    String name1 =request.getParameter("arcmin"); 
    
    String sql="select * from compcacu where";
    if(name.equals(" "))
     { }else{sql+= " objectname = '"name"'";}
     if(name1.equals("")){ }
     else{
    int nn = Integer.parseInt(name1);
    sql+="and arcmin = nn";}
    ResultSet rs=stmt.executeQuery(sql);
    另:nn能传出值么?

解决方案 »

  1.   

    { }else{sql+= " objectname = '"+name+"'";} 
      

  2.   

    还是不行。错误如下:
    variable name location: class _jsp._mycode._ch1._snnshow__jsp
        if(name.equals(" ")) 
           ^
    /mycode/ch1/SNNshow.jsp:26: cannot resolve symbol
    symbol  : variable name 
    location: class _jsp._mycode._ch1._snnshow__jsp
        { }else{sql+= " objectname = '"+name+"'";} 
                                        ^
    /mycode/ch1/SNNshow.jsp:34: rs is already defined in _jspService(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
        ResultSet rs=stmt.executeQuery(sql);
      

  3.   

     else{ 
        int nn = Integer.parseInt(name1); 
        sql+="and arcmin = nn";} --->    sql+=" and arcmin = " + nn;
      

  4.   

    另外:name.equals(" ")如果name==null很容易报错
    建议倒过来写:"".equals(name)
      

  5.   

     不只一处错误,这样写不就行了吗
        String name =request.getParameter("objectN"); 
        String name1 =request.getParameter("arcmin"); 
        
        String sql="select * from compcacu where"; 
        if(!name.equals("")) 
        {sql+= " objectname = '"+name+"'";} 
        if(!name1.equals(""))
        { 
        int nn = Integer.parseInt(name1); 
        sql+="and arcmin = "+nn;
        } 
        ResultSet rs=stmt.executeQuery(sql); 
      

  6.   

    if(name!==null&&name.equals("")) if(name1!==null&&name1.equals("")) 
    我一般不会把int 直接加到String后边
      

  7.   

    我把它改了,但是有&&name0.equals("")的时候错误,没有的时候可以运行。 
    String name1 =request.getParameter("arcmin"); 
       
        
        String sql="select * from compcacu where"; 
        if(name0!=null&&name0.equals("")) 
        {sql+= " objectname = '"+name0+"'";}
        int arcmin0 = Integer.parseInt(name1);
        if(arcmin0>0) 
        { 
        
        sql+="   and arcmin = "+arcmin0; 
        } 
        
        ResultSet rs=stmt.executeQuery(sql);
      

  8.   

    (name0!=null&&!name0.equals("")) 差叹号