gpt4 book ai didi

java - 请指导我缺少什么

转载 作者:行者123 更新时间:2023-12-02 07:43:30 24 4
gpt4 key购买 nike

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

最佳答案

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

没有理由调用 executeQuery(sql),因为您已经使用了 PreparedStatement。问题大概就出在这里。所以尝试改变一下。

其次,您必须在 finally block 中调用 close() 方法,因为如果它崩溃,catch block 将被调用,但您的 close() 方法编号。

Finally block 保证将始终被调用。


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

关于java - 请指导我缺少什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11249682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com