单独这样写就没有问题:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); //连接数据库 sqlCon= java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jsp","sa","sa"); //创建语句对象 sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); //执行SQL语句strSQL = "select * from content"; //执行SQL语句并获取结果集 sqlRst = sqlStmt.executeQuery(strSQL);//获取记录总数 sqlRst.last();intRowCount = sqlRst.getRow(); //记算总页数

解决方案 »

  1.   

    但是这样写
    DatabaseDAO dao=new DatabaseDAO();
         ResultSet rs=null; 
         rs=dao.QuerySting(sql);         rs.last();//这里出现了问题,[Microsoft][SQLServer 2000 Driver for JDBC]Unsupported method: ResultSet.last
             intRowCount = rs.getRow(); 
    出现问题了,说是SQLServer 2000Driver不支持,我都觉得很郁闷
      

  2.   

    如果是用
    if(rs.next())
    {
       rs.last();
       intRowCount=rs.getRow();
       rs.beforeFirst();
    }
    然后用out.println(intRowCount);就说这个variable intRowCount might not have been initialized
    不初始化,真郁闷。。
      

  3.   

    问题在这里!
    rs=dao.QuerySting(sql);
    dao的查询方法内部应该已经关闭了statement和connection对象了
    rs对象是在statement关闭后自动关闭的,你对一个已经失效的rs用last()方法当然就要出错了对你目前的情况来说最简单的方法就是自己创建一个类,用来保存响应的结果集,包括一个Collection存放rs的结果集,若干int值存放行数,页数之类的东西,在dao内部statement有效期完成rs和自定义类的转换
    在你的jsp页调用自定义的类来实现分页显示