当前位置: 代码迷 >> J2EE >> java web开发中数据库操作有关问题
  详细解决方案

java web开发中数据库操作有关问题

热度:93   发布时间:2016-04-22 01:12:26.0
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支持?
  相关解决方案