res.wasNull() troubles when using CASE?

Поиск
Список
Период
Сортировка
От Jean-Christian Imbeault
Тема res.wasNull() troubles when using CASE?
Дата
Msg-id 3DD1C80F.3000908@mega-bucks.co.jp
обсуждение исходный текст
Ответы Re: res.wasNull() troubles when using CASE?
Список pgsql-jdbc
I have the following query which seems to be having trouble with
ResultSet.wasNull():

String sql = "select case when date_sent is not null then
to_char(date_sent::timestamp, 'YY-mm-DD HH:MI') else null end as
date_sent from invoice_emails where invoice_id='" + id + "' order by
date_sent";

String s;
ResultSet res = db.queryDB(sql);
try {
   while (res.next()) {
     if (res.wasNull()) {
       s = new String("Pending");
       dates.add(s);
     }
     else {
       s = res.getString("date_sent");
       dates.add(s);
     }
   }
   System.out.println(s);
}
catch (SQLException e) {System.out.println("ERROR");}

When the returned value is null, the if (res.wasNull()) clause does not
get executed ... but the value truly was null since when I print String
s it is null.

I tried the same query using the command line and it does return null
when the date_sent column is null ... the JDBC driver however doesn't
seem to realize this ...

I'm sure it's my fault though. Can someone tell me where I went wrong?

Thanks!

Jc


В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Nic Ferrier
Дата:
Сообщение: Re: streaming result sets: progress
Следующее
От: Thomas O'Dowd
Дата:
Сообщение: Re: res.wasNull() troubles when using CASE?