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

数据库结果集的问题,哪位大侠看看。。。
Java code
public List<LetterInfo> letterInfosByletterReceiver(int page,String letterReceiver) {
         if(page<1) {
              page = 1;
          }else if(page>this.getInboxMaxPage(letterReceiver)) {
              page = this.getInboxMaxPage(letterReceiver);
          }
         List<LetterInfo> letterInfos = new ArrayList<LetterInfo>();
         String sql = "";
         sql="select top 8 letterid from letterreceiverinfo where letterreceiver='"+letterReceiver+"' and receiverinfoid not in(select top "+(page-1)*8+" receiverinfoid from letterreceiverinfo ) and isread=1";
         //System.out.println(sql);
         [color=#FF0000]ResultSet rs = connection.executeQuery(sql);[/color]
         try {
            [color=#FF0000]if(rs.next()) [/color]{
                rs.first();
                while(rs.next()) {
                    letterInfos.add(letterInfoDao.getLetterInfoById(rs.getInt(1)));
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
         return letterInfos;
    }

错误:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]第 1 行: '-' 附近有语法错误。
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at com.jubao.bean.DB.executeQuery(DB.java:59)
at com.jubao.dao.LetterReceiverInfoDao.letterInfosByletterReceiver(LetterReceiverInfoDao.java:80)
at com.jubao.servlet.LetterReceiverInfoServlet.doPost(LetterReceiverInfoServlet.java:41)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:709)
at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:680)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:83)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServle