String sql = "select * from products where PRICE between" + Price1+ "and" + Price2;  
rs = stm.executeQuery(sql);
if(rs.next()){
price = rs.getFloat("PRICE");
}
为什么不能查询出来呢? 为什么会在这里if(rs.next())报错? 我该如何实现?请给出个例子,谢谢了!!!

解决方案 »

  1.   

    调试中看一上你 sql 内容到底是什么就知道为什么了。String sql = "select * from products where PRICE between " + Price1+ " and " + Price2;  注意空格。
      

  2.   

    语句没问题。
    org.apache.jasper.JasperException: An exception occurred processing JSP page /checkPRICE.jsp at line 3330:  String sql = "select * from products where PRICE between" + Price1
    31:  + "and" + Price2;
    32:  rs = db.executeQuery(sql);
    33:  if(rs.next()){
    34:  id = rs.getLong("PRODUCT_ID");
    35:  product_name = rs.getString("PRODUCT_NAME");
    36:  price = rs.getFloat("PRICE");
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      

  3.   

    我知道你想说什么   我的rs = db.executeQuery(sql); 是我编的JAVABEAN里面的方法,而rs = stm.executeQuery(sql); 是为了不让大家看不懂才写的。这没什么问题。其实间查询一个价格是可以查出来的,就是不知道为什么查询一个范围就查不出来了。无奈。
      

  4.   


    String sql = "select * from products where PRICE between " + Price1+ " and " + Price2;  between 后的空格。
     and  前后的空格
      

  5.   

    1、检查sql有没有问题,就是楼上说的空格
    2、看看你PRICE 的类型,
    "select * from products where PRICE >=" + Price1+ " and PRICE <=" + Price2;  
    看看