SQL-запрос возвращает данные, но ResultSet пуст

1

я искал в таких вопросах, но нет ничего похожего на мою проблему. У меня этот простой SQL

SELECT MIN(date) 
FROM table1 
WHERE date > date1 (obviously date1 is a parameter)

Я попытался поймать пустой resultSet с if (rset.next()), но это не сработало, потому что функция MIN() возвращает EVER 1, хотя это пустая строка, поэтому что я могу сделать, чтобы ее поймать?

заранее спасибо

Теги:
jdbc
is-empty
resultset

2 ответа

0

ResultSet.wasNull предоставляется для примитивов. До того, как появился бокс примитивных типов, не было никакого способа напрямую представить NULL для них, поэтому вызов wasNull был необходим, чтобы проверить, было ли поле считано нулевым.

Это не проблема для объектов, вы должны быть в состоянии проверить, является ли ссылка нулевой обычным способом:

if (rs.next()) {
    date = rs.getDate(1);
    if (date == null) {
     // date returned is NULL
    }
}
0

Извините, я не могу доказать свою идею с запущенной системой, но я бы попытался использовать wasNull() в наборе результатов:

if (rs.next()) {
    date = rs.getDate(1);
    if (rs.wasNull()) {
     // do something
    }
}
  • 0
    Это не работает, потому что, когда вы пытаетесь прочитать нулевой столбец, возникает исключение (java.lang.NullPointerException) и по инструкции if не выполняется ..
  • 0
    Хм, жалко. Это сложный вопрос
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню