При извлечении максимальной даты из DB2 в Java выдается исключение при неправильном преобразовании типа столбца - PullRequest
1 голос
/ 17 августа 2010

У меня есть следующий SQL, который возвращает максимальный BILL_DATE на основе некоторых критериев.BILL_DATE определяется в базе данных как DATE.

SELECT MAX(BILL_DATE)
FROM BILLTABLE
WHERE col1 = ? and
      col2 = ?

Но когда я читаю значение из resultSet.

bill.setBillDate(resultSet.getDate(1));

Возникает исключение:

Недопустимопреобразование данных: неверный тип столбца результата для запрошенного преобразования.ОШИБКА = -4461, SQLSTATE = 42815

Я также пытался

bill.setBillDate(resultSet.getString(1));

Но это не возвращает дату.Он возвращает либо 100, 200, либо 300, что явно неверно.

Есть ли другой способ сделать это?Я что-то не так делаю?

Ответы [ 2 ]

1 голос
/ 18 августа 2010

Эш прав, как вы определяете столбец даты?

Возможно ли, что столбец является меткой времени? В этом случае попробуйте resultSet.getTimestamp (1))

0 голосов
/ 09 сентября 2010

У меня было два набора результатов, открытых в функции, где я читал в BILL_DATE.Я изменил код на следующий, и он отлично работает.

bill.setBillDate(resultSet1.getDate(1));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...