標籤:html servlet jsp oracle
現在資料庫中有一張使用者表,希望使用者在jsp頁面中輸入使用者名稱和密碼以及 使用者類型,在servlet中插入資料庫後,在另一個jsp頁面中把資料庫中所有的使用者名稱和類型都以列表的形式列出來 可以用OracleCachedRowSet實現了ResultSet中的所有方法The oracle.jdbc.rowset.OracleCachedRowSet class is the Oracle implementation of CachedRowSet
servlet代碼為:
import oracle.jdbc.rowset.OracleCachedRowSet;
PreparedStatement pUpd = con.prepareStatement("insert into myuser(username,password,user_type) values (?,?,?)" );
pUpd.setString(1,userName);
pUpd.setString(2,password);
int ty=Integer.parseInt(type);
pUpd.setInt(3,ty);
int numRows = pUpd.executeUpdate();
out.print("成功插入"+numRows+"行<br>");
out.print("從資料庫中讀取您的註冊資訊為: <br>");
pUpd = con.prepareStatement("select username,user_type from myuser " );
rs = pUpd.executeQuery();
OracleCachedRowSet ors = new OracleCachedRowSet();
//將ResultSet中的資料封裝到RowSet中
ors.populate(rs);
request.setAttribute("empRS",ors );
RequestDispatcher rd;
rd = getServletContext().getRequestDispatcher("/showResult.jsp");
rd.forward(request,response);
顯示使用者名稱和類型都以列表的形式的讀取資料jsp為:showResult.jsp
<%@ page language="java" import="java.util.*,javax.sql.*,oracle.jdbc.rowset.OracleCachedRowSet" pageEncoding="utf-8"%>
<body>
<%
OracleCachedRowSet empRS =(OracleCachedRowSet)request.getAttribute("empRS");
%>
…
<table cellspacing="0" width=”90%”>
<tr> <td>使用者名稱</td> <td>類型</td> </tr>
<%
if (empRS != null)
while (empRS.next() )
{
%>
<tr>
<td><%= empRS.getString("userName")%></td>
<td><%= empRS.getString("user_type")%></td>
</tr>
<%
}// end while
%>
</table>
</body>
JSP列表形式顯示資料庫中的資料 OracleCachedRowSet 執行個體