-2
我可以通过检查数据库中是否存在任何重复项来了解验证变量的最佳方法吗?使用ResultSet.getString检查重复项
我试过几种不同的方式了,但只要不满足第一if
条件,一个空白页会显示
编辑:我已经想过设定username
到一个独特的价值,但会接触到我的主键冲突,staff_id
<%-- Checking for duplicates - Reading --%>
<%
if(request.getParameter("Check") != null){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String conURL1= "jdbc:odbc:HOD_DATA";
Connection con1 = DriverManager.getConnection(conURL1);
Statement st1 = con1.createStatement();
String query = "select username from Staff where username = '"+sUsername+"'";
ResultSet rs = st1.executeQuery(query);
while(rs.next()){
result = rs.getString("username");
if(result.equals(sUsername)) {
response.setHeader("Refresh", "3; URL=StaffReg.jsp");
out.println("You may not use this username.");
}
else if(rs.wasNull()) {
response.setHeader("Refresh", "3; URL=StaffReg.jsp");
out.println("You may use this username.");
}
}
rs.close();
st1.close();
con1.close();
}
catch(Exception e){
out.println(e);
}
}
%>
为什么要重新检查它。只是把'else'而不是'else if' – 2015-02-07 08:34:53
这没有意义。该查询已经检查了您正在声明的条件。这里没有任何东西可以检查重复。 – EJP 2015-02-07 08:35:58
我已经尝试过了。检查永远不会进入第二种状态,即使它是'else' – Ashton 2015-02-07 08:36:23