<% String code = request.getParameter("YYM"); if (code == null || code.isEmpty()) { %> <a href="Admin.jsp">请输入预约码,点击返回签到</a> <% } else { Connection conn = SQLConn.openDB(); final String SELECT_SQL = "SELECT ACode FROM User_ZC JOIN YuYue ON User_ZC.UserId = YuYue.UserId WHERE Login = 1 AND State = 1 AND Arrive IS NULL"; final String UPDATE_SQL = "UPDATE YuYue SET Arrive =1 WHERE ACode = ?"; PreparedStatement pstmtSelect = conn.prepareStatement(SELECT_SQL); ResultSet rs = pstmtSelect.executeQuery(); int count = 0; while (rs.next()) { String Acode = rs.getString("ACode"); if (Acode.equals(code)) { try { PreparedStatement pstmtUpdate = conn.prepareStatement(UPDATE_SQL); pstmtUpdate.setString(1, code); count = pstmtUpdate.executeUpdate(); pstmtUpdate.close(); } catch (SQLException e) { e.printStackTrace(); } break; }else{ System.out.print("预约码不匹配"); } } if (count > 0){ %> <a href="Admin.jsp">签到成功</a> <% } else { %> <a href="Admin.jsp">签到失败</a> <% } rs.close(); pstmtSelect.close(); conn.close(); } %>其中,输入的“YYM”值为003004,并且数据库中有该字段,为什么会跳到“签到失败”页面?
时间: 2024-02-15 15:27:44 浏览: 135
java request.getParameter中文乱码解决方法
根据代码,如果输入的“YYM”值在数据库中匹配成功,会执行UPDATE_SQL更新操作,如果更新成功,会跳转到“签到成功”页面,否则会跳转到“签到失败”页面。如果您输入的“YYM”值为003004,但是跳转到了“签到失败”页面,可能是因为数据库中的状态不符合要求,例如State不为1或者Arrive不为NULL。建议您检查一下数据库中的状态是否正确,以及程序中的逻辑是否正确。您也可以在程序中增加一些调试语句,例如输出SELECT_SQL查询结果,以便更好地定位问题。
阅读全文