Могу ли я узнать, как лучше всего проверять переменную, проверяя наличие дубликатов в моей базе данных?Проверка дубликатов с помощью ResultSet.getString
Я попробовал несколько различных способов уже, но всякий раз, когда первое if
условие не выполнено, пустая страница будет показана
Edit: Я думал об установке 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' –
Это не имеет смысла. Запрос уже проверяет условие, которое вы утверждаете. И здесь нет ничего, что проверяет дубликаты. – EJP
Я уже пробовал это. Проверка никогда не переходит на второе условие, даже если это 'else' – Ashton