日期:2014-05-17  浏览次数:20687 次

在jsp中操作数据库出现了问题!求助
49:   }else{
50:   pagecount=rowcount/pagesize+1;
51:   }
52:   rs=sm.executeQuery("select top"+pagesize+"* from FinalPage where id not in (select top"+(pagesize*(pagenow-1))+"id from FinalPage)");
53:    while(rs.next()){
54:    %>
55:    <%=rs.getString(2)%><br>


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:407)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)


root cause 

javax.servlet.ServletExceptioncom.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'from' 附近有语法错误。

如果把52这句话直接放在sql server中(其中的pagesize和pagenow换成数字)是可以运行的,而且也是正确的。
------解决方案--------------------
好像不要*号吧。
------解决方案--------------------
二楼搞什么???

写 sql时请加上 空格    *  旁边
------解决方案--------------------
你想分页不需要写*
------解决方案--------------------
分页不需要写*
------解决方案--------------------
in 后面的语句拼起来是什么? 注意空格

引用:
二楼搞什么???

写 sql时请加上 空格    *  旁边

------解决方案--------------------
select top"+(pagesize*(pagenow-1))+"id  注意空格
------解决方案--------------------
应该是空格的问题,其他应该没问题的。
------解决方案--------------------
select top"+(pagesize*(pagenow-1))+"id
改成
select top "+ (pagesize*(pagenow-1)) + " id
------解决方案--------------------
楼上说的对 注意空格
------解决方案--------------------
楼主好强大,直接在显示层操作数据库