为什么会出现这个问题,麻烦解答一下,谢谢了
本帖最后由 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:
------解决方案--------------------我想看out.println(book+"<br>")这行输出的结果,如果是List类型肯定就不对了。
------解决方案--------------------你的book是什么类型
------解决方案--------------------没看出问题。。。
先试试
ResultSet rs=stat.executeQuery("select * from Mytable WHERE NAME in('"+
"xxxx"+"','课本') order by TIME desc");
或者你尝试把sql语句打印出来试试。。
------解决方案--------------------如果我没猜错,你的book是一个对象。而在Book类里面,或许你重载了toString方法,使之打印book的name,所以你out的时候,发现正常。但是。在sql语句里面,你的book依然是一个对象。所以,你把book改成。book.getName()//即,book对象中的某个字段的名称。而且这个字段还是String类型的