From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | Peter <peter(at)greatnowhere(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: JDBC problem with dates and ANYELEMENT type |
Date: | 2009-04-24 20:20:43 |
Message-ID: | 49F21F1B.7010803@ejurka.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Peter wrote:
>>> Any suggestions how to work around this so we can still use
>>> ANYELEMENT and pass in DATE?
>
>> You can put a cast into the query itself "SELECT ?::date".
>
> Nah... that's no good. The same query string is used for many
> different types in my app - such approach would require me to parse
> the SQL string and append cast to date when argument is
> java.sql.Date. I'll leave this as last-ditch approach.
The other way of providing explicit type information is to create an
object that extends PGobject. Something like:
import java.util.Date;
import java.text.SimpleDateFormat;
import org.postgresql.util.PGobject;
class MyDateWrapper extends PGobject {
public MyDateWrapper(java.util.Date d) {
setType("date");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
setValue(df.format(d));
}
}
Then call PreparedStatement.setObject with an instance of MyDateWrapper.
Kris Jurka
From | Date | Subject | |
---|---|---|---|
Next Message | Kris Jurka | 2009-04-25 00:46:18 | Re: Here's a fix to AbstractJdbc3Statement.getGeneratedKeys |
Previous Message | Thomas Kellerer | 2009-04-24 17:33:20 | Re: Here's a fix to AbstractJdbc3Statement.getGeneratedKeys |