主要问题有两个。
1、String Resultsql = "select LastName,FirstName top "+(Integer.parseInt(this.page)-1)*(tb.getPagecount()-1)+" from Employees";正确的语法是 SELECT TOP 10 * FROM ... WHERE ...。再者这个 "+(Integer.parseInt(this.page)-1)*(tb.getPagecount()-1) 可能不对头。2、楼主在这里马虎了:
  rs.close();
  st.close();  Statement stResult = conn.createStatement();
  ResultSet rsResult = st.executeQuery(Resultsql);  明显应该是 ResultSet rsResult = stResult.executeQuery(Resultsql);,st 已经 close() 了。最初的 java.lang.NullPointerException 是由 JSP 中的 Enumeration e = v.elements(); 引发的,因为 v == null。

解决方案 »

  1.   

    看后台出来的异常log信息,找到nullpoint异常的那个位置行数对应的source,应该有一个变量为null。检查一下为什么为null,就可以解决的。
      

  2.   

    把CTestBean改成下面这样试试
    package com;
    import java.util.*;
    import java.sql.*;public class CTestBean
    {
    private Connection conn;
    private String page;
    private TestBean tb;
    public CTestBean(String page) throws Exception
    {
    if(page!=null)
    {
    this.page = page;
    }
    else
    {
    this.page = Integer.toString(1);
    }
    String classforname = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String servanddb = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Northwind";
    String uid = "sa";
    String pwd = "123123";
    String sql = "select count(LastName) from Employees";
    tb = new TestBean();
    String Resultsql = "select top "+Integer.parseInt(this.page)*tb.getPagecount()+" LastName,FirstName from Employees";
    try
    {
    Class.forName(classforname);
    conn = DriverManager.getConnection(servanddb,uid,pwd);
    Statement st = conn.createStatement();
    ResultSet rs = st.executeQuery(sql); while(rs.next())
    {
    tb.setMaxcount(rs.getInt(1));
    }
    rs.close();
    st.close(); Statement stResult = conn.createStatement();
    ResultSet rsResult = stResult.executeQuery(Resultsql);
    Vector data = new Vector();
    int i = 0;
    while(rsResult.next())
    {
    if(i>(Integer.parseInt(this.page)-1)*tb.getPagecount()-1)
    {
    Emp emp = new Emp();
    emp.setLastname(rsResult.getString(1));
    emp.setFirstname(rsResult.getString(2));
    data.add(emp);
    }
    }
    tb.setData(data);
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    }
    public TestBean getTb()
    {
    return tb;
    }
    }