Моя Java-программа добавляет элементы в базу данных.У меня есть код для генерации случайной строки, которая будет использоваться в качестве идентификатора элемента.Я хочу сделать IDchecker (id), который будет проверять, существует ли идентификатор в базе данных.
Если у меня есть методы codeIDgenerator () и IDchecker (id), как мне создать цикл, который будет генерировать новый код, еслиидентификатор уже существует или выйдет из цикла, если идентификатор уникален и не появляется в базе данных?
Также у меня возникают проблемы с моим методом IDchecker (id), я использую ResultSet для получения данных из SQL, но я не могу найти способ определить, сколько строк имеет ResultSet (если вообще).Для resultSet нет isEmpty ()?
Вот код:
public void AddItem() {
boolean checkCode = false;
while (checkCode == false) {
Random r = new Random();
int numbers = 100000 + (int) (r.nextFloat() * 899900);
String ID= Integer.toString(numbers);
try {
if (DatabaseConnection.checkID(ID) == false) {
checkCode = true;
System.out.println("ID is unique");
} else if (DatabaseConnection.checkID(ID) == true) {
System.out.println("ID is NOT unique");
}
} catch (SQLException ex) {
Logger.getLogger(ModelTabeleIntervencija.class.getName()).log(Level.SEVERE, null, ex);
}
}
А вот метод ckeckID (ID)
public boolean CheckID(String ID) throws SQLException {
String query = "SELECT itemId FROM items WHERE itemID= '"+ID+"'";
Statement dbStatement = connection.createStatement();
ResultSet rsItems= dbStatement .executeQuery(query);
if (rsItems.isEmpty( )== true){
return false;
// ID not found - is unique
} else{
return true;
// ID found - is not unique
}
}
Спасибо