Ответ на принятый ответ от CMS верен, я только что добавил некоторые функции:
// parse a date time that can contains spaces, dashes, slashes, colons
function parseDate(input) {
// trimes and remove multiple spaces and split by expected characters
var parts = input.trim().replace(/ +(?= )/g,'').split(/[\s-\/:]/)
// new Date(year, month [, day [, hours[, minutes[, seconds[, ms]]]]])
return new Date(parts[0], parts[1]-1, parts[2] || 1, parts[3] || 0, parts[4] || 0, parts[5] || 0); // Note: months are 0-based
}
Вы не отметили, что ваш результирующий набор пуст или нет до фактического извлечения значений из набора результатов ...
next () возвращает true, если в результирующем наборе есть данные, false нет данных в позиции курсора. Поместите свой код следующим образом:
While(rs.next())
{
pName = rs.getString("productName");
System.out.println("Product: " + pName);
// MATA IN ANTAL
System.out.println("\nEnter amount:");
GroceryStore.amount = GroceryStore.scan.nextInt();
pPrice = rs.getDouble("productPrice");
}
Вы не проверяете, имеют ли в вашем результирующем наборе какие-либо данные или строку.
ResultSet rs = stmt.executeQuery();
rs.next();
...
...
Вы должны проверить, является ли ваш результат пустым или имеет любую строку:
ResultSet rs = stmt.executeQuery();
if(rs.next()){
.....
your code
.....
}