2013-08-25 67 views
0

我的數據庫中有兩個名爲「branch」和「course」的表。 我想在選擇選項中顯示每個表的一列的內容。 我可以成功檢索一列,但是當我嘗試從多個表中檢索數據時,它會給我一個說「結果集已關閉」的異常。檢索jsp中多個表的內容

這裏是我的代碼: -

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@page import="java.sql.DriverManager"%> 
<%@page import="java.sql.ResultSet"%> 
<%@page import="java.sql.Statement"%> 
<%@page import="java.sql.Connection"%> 
<html> 
<head> 
<title>Type of Test</title> 
</head> 
<body> 
     <% 
    Connection con=null; 
    Statement s=null; 
    ResultSet r=null; 
    ResultSet r1=null; 
try 
     { 
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     con=DriverManager.getConnection("jdbc:odbc:online_testing"); 
     s=con.createStatement(); 
     r=s.executeQuery("select * from branch");  
     r1=s.executeQuery("select * from course"); 
     } 
     catch(Exception e) 
     { 
     response.setContentType("text/html"); 
     out.println(e.toString()); 
     } 
%> 
<form action="Decidetest" method="post"> 
    <table align="center"> 
    <tr> 
    <td>Select Branch:-</td> 
    <td> 
         <select name="branch"> 
      <% 
       while(r.next()){ 
       String codeValue = r.getString("code"); 
    %> 
       <option value="<%=codeValue%>"><%=codeValue%></option> 
       <% 
       } 
    r.close(); 
     %> 
      </select> 
        </td> 
     </tr> 

      <tr> 
        <td>Select Course:-</td><td> 
         <select name="branch"> 
       <% 
       while(r1.next()){ 
        String courseValue = r1.getString("course"); 
     %> 
       <option value="<%=courseValue%>"><%=courseValue%></option> 
       <% 
       } 
    r1.close(); 
    s.close(); 
    con.close(); 
     %> 
      </select> 
        </td> 
     </tr> 
      <tr><td><input type="submit"></td><td><input type="reset"></td></tr> 
      </table> 
</form> 
</div> 
</body> 
</html> 

回答

0

試圖使它2個獨立的語句:

s = con.createStatement(); 
s1= con.createStatement(); 
r = s.executeQuery("select * from branch");  
r1=s1.executeQuery("select * from course"); 
+0

試了一下,仍然沒有工作 – Saumyaraj