Statement stmt=conn.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
sql="SELECT TOP 1 * FROM "+role;//
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
myout.println("<tr>");
myout.println("<td>"+rs.getString(1)+"</td>");
myout.println("<td>"+rs.getString(2)+"</td>");
myout.println("<td>"+time.format(rs.getDate("riqi"))+"</td>");
    myout.println("</tr>");
         
}
stmt.close();在JAVA程序中测试成工无报错
用JSP放在TOMCAT中能出结果(结果正常),但控制台报错:[ODBC]无效的游标状态
把TOP 1去掉,一切正常~~~~问题已经锁定在是TOP上,网上有相同情况,但都是没得到正确答案的~~

解决方案 »

  1.   

    top 1 代表就1条记录不用while循环了,rs.next直接跳到第一条记录Statement stmt=conn.createStatement(
    ResultSet.TYPE_SCROLL_SENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
    sql="SELECT TOP 1 * FROM "+role;//
    ResultSet rs=stmt.executeQuery(sql);
    rs.next()

    myout.println("<tr>");
    myout.println("<td>"+rs.getString(1)+"</td>");
    myout.println("<td>"+rs.getString(2)+"</td>");
    myout.println("<td>"+time.format(rs.getDate("riqi"))+"</td>");
        myout.println("</tr>");
             
    stmt.close();
      

  2.   

    TOP 1 是测试用的~~~我想用TOP 来分页,好象比较高效,不是TOMCAT那可能是什么呢?
      

  3.   

    是你代码写的有问题,TOP 1 就是第一条记录,直接读就可以了,你把TOP 1  去