java web开发中数据库操作有关问题
阅读
- Java code
Connection conn = DBConnection.getConnection(); //获得连接对象 String findSQL = "select * from tb_message " + "order by publishTime desc limit ?,?"; PreparedStatement pstmt = null; //声明预处理对象 ResultSet rs = null; List<Message> messages = new ArrayList<Message>(); try { pstmt = conn.prepareStatement(findSQL); //获得预处理对象并赋值 pstmt.setInt(1, page.getBeginIndex()); //查询起始点 pstmt.setInt(2, page.getEveryPage()); //查询记录数 rs = pstmt.executeQuery(); //执行查询 while(rs.next()) { Message message = new Message(); message.setMessageID(rs.getInt(1)); //设置消息ID message.setMessageTitle(rs.getString(2));//设置消息标题 message.setMessageContent( rs.getString(3)); //设置消息内容 message.setEmployeeID(rs.getInt(4));//设置员工编号 message.setPublishTime(rs.getTimestamp(5));//设置发布时间 messages.add(message);//添加消息 } } catch (SQLException e) { e.printStackTrace(); } finally{ DBConnection.close(rs); DBConnection.close(pstmt); DBConnection.close(conn); }
当我访问网页的时候,控制台抛出异常:com.microsoft.sqlserver.jdbc.SQLServerException: 'limit' 附近有语法错误。我查看了一下,异常是在 rs = pstmt.executeQuery(); 这一行抛出的。我使用的数据库是SQL server2008。当我去掉"order by publishTime desc limit ?,?" 然后不使用PreparedStatement类来查询数据库时候,运行就正常,所以问题应该是出现在sql语法上了,但是我在网上查,却查不到类似的语法,请求大神帮助。
------解决方案--------------------
SQL SERVER 可以用limit 语句么,我记得好像只有TOP吧,难道是2008支持?
阅读
上一篇:研究Java的反编译性,该怎么处理 下一篇:返回列表