Я не понимаю, почему ResultSet не работает, как будто нет результатов
public static int checkProductID(Connection conn) {
boolean productIDisvalid = false;
int id = 0;
while (!productIDisvalid) {
System.out.println("Enter a product ID: ");
try {
id = Integer.parseInt(readLine());
if (id < 10000000 && id > 0) {
System.out.println(id);
// PreparedStatement pstmt = conn.prepareStatement ("INSERT INTO INVENTORY VALUES (?,?,?,?) ");
// pstmt.setInt(1,4000); pstmt.setString(2,"hello"); pstmt.setInt(3,4000); pstmt.setInt(4,400);
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM INVENTORY WHERE PRODUCTID = ?");
pstmt.setInt(1, id);
ResultSet r = pstmt.executeQuery();
while (r.next()) {
System.out.println(r.getInt("PRODUCTID"));
if (r.getInt("PRODUCTID") == id) return id;
}
}
} catch (NumberFormatException | SQLException | NullPointerException e) {
e.printStackTrace();
continue;
}
}
return id;
}
Я привел в кавычки значения вставки, чтобы доказать, что он работает и правильно подключен к базе данных.

Вставка значений работает.Но всякий раз, когда я пытаюсь выполнить поисковый запрос к базе данных, он не работает, r.next () никогда не выполняется, и оператор print внутри этого цикла while никогда не выполняется, даже если я изменю запрос на «SELECT * FROM INVENTORY».ГДЕ ПРОДУКТ = 1000 "