Im используя следующий код для регистрации.PSQLException бросается из-за результатов
@POST
@Path("/userreg")
@Consumes(MediaType.APPLICATION_JSON)
public Response userRegistration(String msg) {
String songString = "requesting";
JSONObject jsonObj = new JSONObject(msg);
ArrayList<Trending> output = new ArrayList<>();
PreparedStatement stmt = null;
try {
Connection connection = MyResource.getConnection();
String query = "SELECT * FROM users where username = ? OR mail = ?;";
PreparedStatement checkStmt = connection.prepareStatement(query);
checkStmt.setString(1, jsonObj.getString("username"));
checkStmt.setString(2, jsonObj.getString("mail"));
ResultSet rs = checkStmt.executeQuery();
if (rs.getString("username").equals(jsonObj.getString("username")) | rs.getString("mail").equals(jsonObj.getString("mail"))){
} else {
stmt = connection.prepareStatement(
"INSERT INTO USERS (username , mail , dob , age , gender , mac , ip , password , registration) VALUES(?, ? , ? , ? , ? , ? , ? , ? , ?) ;");
stmt.setString(1, jsonObj.getString("username"));
stmt.setString(2, jsonObj.getString("mail"));
stmt.setString(3, jsonObj.getString("dob"));
stmt.setString(4, jsonObj.getString("age"));
stmt.setString(5, jsonObj.getString("gender"));
stmt.setString(6, jsonObj.getString("mac"));
stmt.setString(7, jsonObj.getString("ip"));
stmt.setString(8, Utilities.randomAlphaNumeric(7));
stmt.setString(9, jsonObj.getString("registration"));
stmt.executeQuery();
}
songString = "success";
} catch (Exception ex) {
songString = "failure" + ex;
}
return Response.status(200).entity(songString).build();
}
Im получая ошибку при слежении
failureorg.postgresql.util.PSQLException: ResultSet не позиционируется должным образом, возможно, вам нужно позвонить в следующем.
Как я могу разобраться в этом? Я хочу проверить, существует ли имя пользователя или почтовый адрес. и только если он существует, я хочу, чтобы пользователь мог зарегистрироваться.