-1
我在JDBC中有一段代碼(在NetBeans IDE 8.1中工作),它不會從第二個結果集中提取數據。曾試圖通過幾個答案,但沒有解決到現在去........JDBC結果集相關
我寫的代碼粘貼如下:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
Connection conn= null;
Statement stmt1= null;
Statement stmt2= null;
try (PrintWriter out = response.getWriter()) {
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head><title>Servlet test_servlet</title>");
out.println("<link href=\"http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\" rel=\"stylesheet\">");
out.println("<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js\"></script>");
out.println("<script src=\"http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script>");
out.println("</head><body>");
out.println("<div class=\"container-fluid\">");
//Register Driver
out.println("<h5>Trying to register</h5>");
Class.forName("oracle.jdbc.driver.OracleDriver");
out.println("<h5>Registered successfully</h5>");
//Open a connection
out.println("<h5>Trying to connect to the XE database...</h5>");
conn=DriverManager.getConnection("jdbc:oracle:thin:@Toshiba:1521:xe","SYSTEM","oraclee");
out.println("<h5>Connected Successfully</h5>");
//Executing queries
stmt1=conn.createStatement();
stmt2=conn.createStatement();
String [] subj=new String[5];
int i=0;
ResultSet rst1=stmt1.executeQuery("select * from TESTINGTABLE");
while(rst1.next()){
//int numb=rst.getInt(1);
subj[i]=rst1.getString("E_NAME").toString();
out.println("Hello "+subj[i]);
out.println("<br>");
i++;
}
rst1.close();
ResultSet rst2=stmt2.executeQuery("select * from TESTTABLE");
while(rst2.next()){
String antt=rst2.getString(1).toString();
out.println("Hi "+antt+"<br>");
}
rst2.close();
out.println("<h5>Result set object closed</h5>");
stmt2.close();
stmt1.close();
out.println("<h5>Statement object closed</h5>");
conn.close();
out.println("<h5>Connection object closed</h5>");
out.println("</div>");
out.println("</body>");
out.println("</html>");
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
}
它爲我提供的輸出是:
Trying to register
Registered successfully
Trying to connect to the XE database...
Connected Successfully
Hello Joe
Hello Chris
Hello James
Hello Eve
Hello Thomas
它不顯示來自第二個結果集的數據。
我正在使用本程序中的兩個表在下面給出:
1>僅具有一個與5個值柱(E_NAME)TESTINGTABLE在它 喬,克里斯,詹姆斯,伊芙,托馬斯
2> TestTable的僅具有一個與它 瑪麗亞姆
是否返回瑪麗亞姆如果從TestTable的第一選擇?我的意思是如果stmt1從TESTTABLE中選擇。 –
請修改您的問題以獲得更具描述性的標題以及已打印的任何例外。 –
我非常確定'''在''select * from TESTTABLE'''末尾會出現錯誤。你應該有一個例外的堆棧跟蹤 –