当前位置: 代码迷 >> Java Web开发 >> 为什么会出现这个有关问题,麻烦解答一上,多谢了
  详细解决方案

为什么会出现这个有关问题,麻烦解答一上,多谢了

热度:7534   发布时间:2013-02-25 21:05:25.0
为什么会出现这个问题,麻烦解答一下,谢谢了
本帖最后由 zhouyuanyuan111 于 2012-12-25 20:27:24 编辑
out.println(book+"<br>");

ResultSet rs=stat.executeQuery("select * from Mytable WHERE NAME in('"+book+"','课本') order by TIME desc");

这两条语句,上面那个out.println是为了验证book是不是能够输出一个词而已,可以去掉的,验证了是正确的,但下面那条语句总是报错,是不是不能够这么写呢???麻烦各位高手解答一下,谢谢了


下面是错误提示
org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 72 in the jsp file: /aaa2.jsp
book cannot be resolved
69: 
70: 
71: 
72: ResultSet rs=stat.executeQuery("select * from Mytable WHERE NAME in('"+book+"','课本') order by TIME desc");
73: 
74: 
75: 
如果我没猜错,你的book是一个对象。而在Book类里面,或许你重载了toString方法,使之打印book的name,所以你out的时候,发现正常。但是。在sql语句里面,你的book依然是一个对象。所以,你把book改成。book.getName()//即,book对象中的某个字段的名称。而且这个字段还是String类型的我想看out.println(book+"<br>")这行输出的结果,如果是List类型肯定就不对了。

没看出问题。。。

先试试
ResultSet rs=stat.executeQuery("select * from Mytable WHERE NAME in('"+"xxxx"+"','课本') order by TIME desc");

或者你尝试把sql语句打印出来试试。。你的book是什么类型
  相关解决方案