错误:ResultSet没有正确定位,也许您需要调用下一步


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" errorPage= "error.jsp"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
/*
int i = Integer.parseInt(request.getParameter("num1"));
int j = Integer.parseInt(request.getParameter("num2"));
int k = i + j ;
out.print(k);*/

String url="jdbc:postgresql://localhost:5432/achref";
String username ="postgres";
String password ="0";
String sql="select * from users ";
Class.forName("org.postgresql.Driver");
Connection con = DriverManager.getConnection(url,username,password);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
rs.next();
%>
<%=rs.getString(2) %>




</body>
</html>

这是我的JSP文件,我想创建一个连接到postgresql数据库,但错误一直告诉呼叫下一个,虽然我已经调用它。请帮助。

错误:ResultSet未正确定位,也许您需要调用next。

应该避免使用select *,并始终使用PreparedStatement(以避免撇号等)。SQL注入.

try (Connection con = DriverManager.getConnection(url, username, password);
PreparedStatement st = con.prepareStatement(sql)) {
// With placeholders "?"
// st.setString(1, "mois");
try (ResultSet rs = st.executeQuery()) {
if (rs.next()) {
%><%= rs.getString("name") %><%
//Alternatively: out.print(rs.getString("name"));
}
} // Closes on finally rs.
} // Closes on finally st and con.

这个错误似乎表明数据库表中仍然没有用户。然后rs.next()返回false,并且不应该从不存在的记录数据中调用rs.getString

相关内容

  • 没有找到相关文章

最新更新