public void registration() throws ClassNotFoundException, SQLException {
System.out.println("Do you want to register to pay advance in online type yes or no");
boolean flag = false;
Set <String> pNumber = new HashSet <String>();
String input = scan.next();
if (input.equalsIgnoreCase("Yes")) {
System.out.println("Enter your name");
String name = scan.next();
System.out.println("Enter password");
String pWord = scan.next();
System.out.println("Re-enter password");
String reEnter = scan.next();
if (pWord.equals(reEnter)) {
String confirm = reEnter;
System.out.println("Your password created successfully");
System.out.println("Enter your phone number");
String phoneNumber = scan.next();
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
conn = MansionDBConnect.getConnection();
String queryTwo = "select phone_number from registration";
ps = conn.prepareStatement(queryTwo);
rs = ps.executeQuery();
while (rs.next()) {
pNumber.add(rs.getString(1));
//System.out.println(rs.getString(1));
}
System.out.println(pNumber.size());
for (int i = 0; i < pNumber.size(); i++) {
if (pNumber.contains(phoneNumber)) {
System.out.println("Already number registered");
//pNumber.remove(phoneNumber);
System.out.println(pNumber);
flag = true;
break;
}
}
if (pNumber.equals(phoneNumber)) {
System.out.println("Already number registered");
}
String query = "insert into registration (username,password,phone_number)values(?,?,?)";
ps = conn.prepareStatement(query);
ps.setString(1, name);
ps.setString(2, confirm);
ps.setString(3, phoneNumber);
ps.executeUpdate();
System.out.println("Your record created successfully try login");
} else {
System.out.println("password mismatch found try again");
}
} else {
System.out.println("For more details please call us");
}
}
registration()
如果已存在具有相同手机号码的用户,我会尝试忽略该用户。我能够找到它是否存在,但之后应该执行其余的代码。但是query
一直在执行。应该添加什么条件?
只需使用flag
您用来判断记录是否存在的 ,如下所示:
if(!flag) {
//put here the insert statement
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句