看看你的sql.research类的源码,是不是产生这两个结果集的statement相同啊???相同就会出现这种情况.

解决方案 »

  1.   

    我的research.class源代码如下:
    package sql;
    import java.sql.*;
    public class research
    {
    String url="jdbc:odbc:research";
    Connection con=null;
    Statement stmt;
    ResultSet rs=null;
    public research()
    {
    try
    {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con=DriverManager.getConnection(url);
    }
    catch(java.lang.ClassNotFoundException e)
    {
    System.err.println("create():"+e.getMessage());
    }
    catch(SQLException e)
    {
    System.err.println("something error");
    }
    }

    public boolean executeUpdate(String sql)
    {
    try
    {
    stmt=con.createStatement();
    stmt.executeUpdate(sql);
    return true;
    }
    catch(SQLException e)
    {
    System.err.println("aq.executeUpdate:"+e.getMessage());
    }
        return false;
    }
       public ResultSet executeQuery(String sql)
    {
       rs=null;
       try
       {
       rs=stmt.executeQuery(sql);    }
       catch(SQLException e)
       {
    System.err.println("aq.executeUpdate:"+e.getMessage());
       }
       return rs;
    }
    public Statement getStatement()
    {
    return stmt;
    }

    public void close()
    {
    try
    {
    stmt.close();
    con.close();
    }
    catch(Exception e)
    {
    System.out.println(e.toString());
    }
    }}有问题吗?
      

  2.   

    把我的research.class修改为:
    package sql;
    import java.sql.*;
    public class research
    {
    String url="jdbc:odbc:research";
    Connection con=null;
    public research()
    {
    try
    {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con=DriverManager.getConnection(url);
    }
    catch(java.lang.ClassNotFoundException e)
    {
    System.err.println("create():"+e.getMessage());
    }
    catch(SQLException e)
    {
    System.err.println("something error");
    }
    }

    public boolean executeUpdate(String sql)
    {
    try
    {
    Statement stmt;
    ResultSet rs=null;
    stmt=con.createStatement();
    stmt.executeUpdate(sql);
    return true;
    }
    catch(SQLException e)
    {
    System.err.println("aq.executeUpdate:"+e.getMessage());
    }
        return false;
    }
       public ResultSet executeQuery(String sql)
    {
       Statement stmt;
       ResultSet rs=null;
       try
       {
        stmt=con.createStatement();
         rs=stmt.executeQuery(sql);
       }
       catch(SQLException e)
       {
    System.err.println("aq.executeUpdate:"+e.getMessage());
       }
       return rs; }
    public void close()
    {
    try
    {
    con.close();
    }
    catch(Exception e)
    {
    System.out.println(e.toString());
    }
    }}
    可是运行后出现一个奇怪的错误:org.apache.jasper.JasperException。
    请问该如何解决?
      

  3.   

    如何让两个结果集的statement不相同,我上面的写法应该实现了它吧?