我正在创建我的第一个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) {
}
%>
答案 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