ошибка - незаконная операция на пустом наборе результатов [дубликат]

Ответ на принятый ответ от 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
}

1
задан Erik 28 February 2013 в 12:57
поделиться

2 ответа

Вы не отметили, что ваш результирующий набор пуст или нет до фактического извлечения значений из набора результатов ...

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");
}
1
ответ дан Pragnani 18 August 2018 в 16:31
поделиться

Вы не проверяете, имеют ли в вашем результирующем наборе какие-либо данные или строку.

ResultSet rs = stmt.executeQuery();
rs.next();
...
...

Вы должны проверить, является ли ваш результат пустым или имеет любую строку:

ResultSet rs = stmt.executeQuery();
if(rs.next()){
.....
your code
.....
}
2
ответ дан Abubakkar 18 August 2018 в 16:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: