请指导我缺少什么

时间:2012-06-28 17:13:32

标签: java jsp

我正在创建我的第一个java Web应用程序.. 实际上,我面临的问题是 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) {
     }
 %>

2 个答案:

答案 0 :(得分:1)

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

没有理由致电executeQuery(sql)您已使用PreparedStatement。 可能问题在这里。所以试着改变。

其次,你必须在close()阻止中调用finally方法,因为如果它会崩溃,catch阻止将被调用但你的close()方法没有。

Finally阻止将永远被召唤的保证。


更新 您需要避免在JSP文件中编写原始Java代码。检查this

答案 1 :(得分:1)

我得到了iam缺少我没有在控制面板中配置我的数据库 - &gt;管理工具......

因此,当我设置它时,它只是工作:)

非常感谢@ hawaii.five-0给了我一个精彩的&amp;有用的sugesstions