Skip site navigation (1) Skip section navigation (2)

Re: JDBC problem with dates and ANYELEMENT type

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 (view raw or flat)
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


In response to

Responses

pgsql-jdbc by date

Next:From: Kris JurkaDate: 2009-04-25 00:46:18
Subject: Re: Here's a fix to AbstractJdbc3Statement.getGeneratedKeys
Previous:From: Thomas KellererDate: 2009-04-24 17:33:20
Subject: Re: Here's a fix to AbstractJdbc3Statement.getGeneratedKeys

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group