一个connection,两个statement,就可以同时打开两个ResultSet
我想是jdbc-odbc这种连接方式的问题,换jdbc吧
你做的东西越复杂,jdbc-odbc的麻烦越多

解决方案 »

  1.   

    可是怎么换呀,我数据库一窍不通,这个连接还是抄书的,我用resin2.02+sql2000+win2000server,能用jdbc吗?帮忙,谢谢!一个connection,两个statement,就可以同时打开两个ResultSet我试了不行
      

  2.   

    java.sql.Connection Conn;是一个
    定义两个
    java.sql.Statement Stmt1;
    java.sql.Statement Stmt2;Rst=Stmt1.executeQuery("select A from B");
                    while (Rst.next())
                    {  
                      Rstchild=Stmt2.executeQuery("select C from D where pid="+Rst(A));
                      while (Rstchild.next())
                        {
                        }
                    }
      

  3.   

    pid=Rst(A)是什么意思?我要从A中读出他的id和name然后
    那个where是不是要写成where pid="+Rst.getInt(id));?
                      
      

  4.   

    另外jdbc-odbc能不能实现这个呀?
      

  5.   

    老兄试了不行呀提示:
    java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]连接占线导致另一个 hstmt 
      

  6.   

    data.jsp<%@ page language="java" import="java.sql.*" contentType="text/html;charset=gb2312"%>
    <%
    java.sql.Connection Conn;java.sql.Statement Stmt1;
    java.sql.Statement Stmt2;
    java.sql.ResultSet Rst;
    java.sql.ResultSet Rstchild;
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Conn=DriverManager.getConnection("jdbc:odbc:wangzhan","zijian","zijian");
    Stmt1=Conn.createStatement();
    Stmt2=Conn.createStatement();
    %>a.jsp<%@ include file="data.jsp"%><%@ page import="java.util.Date"contentType="text/html;charset=gb2312"%>
    <%
    Rst=Stmt1.executeQuery("select * from teach_subject");
                    while (Rst.next())
                    {      
     try{ Rstchild=Stmt2.executeQuery("select unit_name from teach_unit ");}
                     catch(SQLException e){
          out.print(e);}
    }
    %>catch到错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]连接占线导致另一个 hstmt 
      

  7.   

    很遗憾,用ODBC连接是有这个问题,我用ms的驱动连接
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Conn=DriverManager.getConnection("jdbc:sqlserver://myServer:1433;user=sa;password=sa;DatabaseName=mzg");
    接没问提,
    我连接oracle的时候也没问题,
    看来你只有在连接个Conn2了
    或者不使用ODBC连接
      

  8.   

    怎么才能不使用odbc,我用sql2000+resin2.02告诉我怎么连接,另外连两个conn也不行,我试了!
    告诉我怎么连接,谢谢!!!!
      

  9.   

    是不是可以这样
    1 定义一个Vector v
    2 将Rst的内容放到v 
    3 关闭Rst
    4 for(int i=0;i<v.size();i++) 来取得Rstchild是不是比开两个连接要好
      

  10.   

    你要使用jdbc,应该先下载一个sql server 2000的jdbc驱动,在这里搜索一下就可以找到下载地址