0

私は最初のJavaWebアプリケーションを作成しています。実際に直面している問題はManageAllStudentsにあります。データベースから取得した後、学生の情報のリストが表示されます。

以下のコードを使用していますが、情報が表示されないか、データベースから情報を取得しません。

私が欠けているものを親切に案内してください。これは私のコードです:

 <% try {
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          String url =  "jdbc:odbc:stdProjectDataDSN";
          Connection c = DriverManager.getConnection(url);
          String sql = "Select * from students ORDER BY ID DESC";
          PreparedStatement pStmt = c.prepareStatement(sql);  
          ResultSet rs = pStmt.executeQuery(sql);

          while (rs.next()) {
 %>
           <tr height="40">   
               <th> <%=rs.getString("ID")%> </th>
               <th> <%=rs.getString("Name")%> </th>
               <th> <%=rs.getString("RollNumber")%> </th>
               <th> <%=rs.getString("PhoneNumber")%> </th>
               <th> <%=rs.getString("StudyProgram")%> </th>
               <th> <%=rs.getString("Status")%> </th>
               <th> <a href="ManageAllStudent.jsp">update</a> </th>
               <th> <a href="ManageAllStudent.jsp">delete</a> </th> 
           </tr>
 <%
         }
         rs.close();
         pStmt.close();
         c.close();
     }
     catch (Exception e) {
     }
 %>
4

2 に答える 2

1
PreparedStatement pStmt = c.prepareStatement(sql);  
ResultSet rs = pStmt.executeQuery();

executeQuery(sql)すでに使用していると呼ぶ理由はありませんPreparedStatement。おそらく問題はここにあります。なので変えてみてください。

次に、メソッドがクラッシュするとブロックが呼び出されますが、メソッドは呼び出されないため、close()メソッドをブロックで呼び出す必要があります。 ブロックは常に呼び出されることを保証します。finallycatchclose()

Finally


更新: JSP ファイルに生の Java コードを記述しないようにする必要があります。これを確認してください。

于 2012-06-28T17:23:59.927 に答える
1

コントロール パネルの [管理ツール] でデータベースを構成しなかったため、不足しているものを取得しました...

だから私はそれを設定すると、それはちょうど動作します:)

@hawaii.five-0 に感謝します

于 2012-06-28T19:03:26.013 に答える