you should get 2 db connections

解决方案 »

  1.   

    两次查询得到两个ResultSet,好像不难啊。
      

  2.   

    我现在的代码,调试有错误<%String username;
    String title;
    String content;
    String post_date;
    String sqlList;
    ResultSet rs;
    %>
    <%

    sqlList="select * from bbs";
    rs=stm.executeQuery(sqlList);
    while(rs.next()){
    %>
      <%
      String thisuser=rs.getString("username");
      String sql="select * from users where username='"+thisuser+"'";
       //out.print(sql);
      ResultSet rs2;
      rs2=stm.executeQuery(sql);
      while(rs2.next()){
         out.print(rs2.getString("username"));
      }   
      %> 
     
    <b>Username</b>:<%  
     out.print(rs.getString("username")+"<br>");
     %>
       <b>Title</b>: <%
     out.print(rs.getString("title")+"<br>"); 
     %>    
       <b>Content</b>: <%
     out.print(rs.getString("content")+"<br>"); 
     %>    
    <b>Date</b>: <%
     out.print(rs.getString("post_date")+"<br>"); %>
    <hr>
     <%
      }  
      %>
      

  3.   

    要定义两个 resultSet集
    一个查询bbs表
    一个查询user表
      

  4.   

    一个stm是不行的,要为每个resultSet集分别定义一个Statement
      

  5.   

    俺的代码:
    try {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); Connection connection =
    java.sql.DriverManager.getConnection(
    "jdbc:microsoft:sqlserver://localhost:1433;User=sa;Password=sa"); java.sql.Statement statement = connection.createStatement();
    java.sql.ResultSet resultSet =
    statement.executeQuery("use LC SELECT * FROM teacherinfo"); java.sql.Statement statementb1 = connection.createStatement();
    java.sql.Statement statementc1 = connection.createStatement(); java.sql.ResultSet resultSetb1, resultSetc1; while (resultSet.next()) {
    resultSetb1 =
    statementb1.executeQuery(
    "use LC SELECT * FROM teachertitle where titlenum='"
    + resultSet.getString("teachertitlenum").trim()
    + "'");
    resultSetc1 =
    statementc1.executeQuery(
    "use LC SELECT * FROM collegeinfo where collegenum='"
    + resultSet.getString("collegenum").trim()
    + "'"); out.println(
    "<TR><TD align=center><INPUT type=checkbox name=checkbox value=on>"
    + "</TD><TD align=center>");
    out.println(resultSet.getString("teachernum") + "</TD><TD align=center>");
    out.println(resultSet.getString("teachername") + "</TD><TD align=center>");
    out.println(resultSet.getString("sex") + "</TD>");
    out.println("<TD align=center>");
    while (resultSetb1.next()) {
    out.println(resultSetb1.getString("titlename"));
    break;
    }
    out.println("</TD>");
    out.println("<TD align=center>");
    while (resultSetc1.next()) {
    out.println(resultSetc1.getString("collegename"));
    break;
    }
    out.println("</TD></TR>");
    }
    System.out.println("数据库连接成功!");
    } catch (Throwable e) {
    out.println("<font color=red>读取数据库中出错!</font>");
    }
      

  6.   

    <%String username;
    String title;
    String content;
    String post_date;
    String sqlList;
    ResultSet rs;
    ResultSet rs2;
    Statement stm2=null;
    stm2=conn.createStatement();//for rs2

    sqlList="select * from bbs";
    rs=stm.executeQuery(sqlList);
    while(rs.next()){  String thisuser=rs.getString("username");
      String sql="select * from users where username='"+thisuser+"'";
       //out.print(sql);
      
      rs2=stm2.executeQuery(sql);
      while(rs2.next()){
         out.print(rs2.getString("username"));
      }   
      %> 
     
    <b>Username</b>:<%  
     out.print(rs.getString("username")+"<br>");
     %>
       <b>Title</b>: <%
     out.print(rs.getString("title")+"<br>"); 
     %>    
       <b>Content</b>: <%
     out.print(rs.getString("content")+"<br>"); 
     %>    
    <b>Date</b>: <%
     out.print(rs.getString("post_date")+"<br>"); %>
    <hr>
     <%
      }  
      %>
    也就是前面所说的定义两个statement和 resultset
      

  7.   

    登陆了,怎么还不能接贴???
    最最感谢“xfounder(红色高棉) ”