我想检查用户是否投了或没有用下面的这个方法。我使用了与登录和登录完全相同的方法。 ResultSet执行查询部分发生错误。这是为了检查用户是否已经投票。jsp页面上的异常与结果集
public boolean checkVote(int userId) throws ClassNotFoundException, SQLException{
String query = "SELECT * FROM polls WHERE User='"+ userId +"''";
connect();
PreparedStatement ps = (PreparedStatement) dbConnection.prepareStatement(query);
ResultSet results = (ResultSet)ps.executeQuery();
while(results.next())
{
return true;
}
disconnect();
return false;
}
堆栈跟踪:
org.apache.jasper.JasperException: An exception occurred processing JSP page / Gadgets.jsp at line 40
37: <%db.DBConnection db = new db.DBConnection();
38: ArrayList<Product> myProducts =db.getAllProducts();
39: User u = db.getUser(session.getAttribute("Username").toString());
40: boolean checkVote = db.checkVote(u.getId());
41: if(checkVote == true)
42: { %>
43: <form id="Gadgets" action="Gadgets.jsp" method="post">
您的堆栈跟踪不显示异常 – Archer
org.apache.jasper.JasperException:发生处理JSP页/Gadgets.jsp例外,在管线40 37:<%db.DBConnection分贝=新db.DBConnection(); 38:ArrayList myProducts = db.getAllProducts(); 39:User u = db.getUser(session.getAttribute(“Username”)。toString()); 40:布尔值checkVote = db.checkVote(u.getId()); 41:if(checkVote == true) 42:{%> 43:
您是否使用与粘贴完全相同的代码这里?因为我认为在你的sql代码中'+ userId +'''“'有一个小错误 - 你的代码中还有两个''''或者这只是你的问题中的一个错误?如果你的代码看起来和这里相同,那么'JasperException'可能有异常,某种'SQLException'和'JasperException'只是'SQLException'的一个效果。它是真的吗? – emka86