Re: "could not determine data type of parameter" with timestamp

From: rob stone <floriparob(at)gmail(dot)com>
To: Rémi Aubel <remi(dot)aubel(at)gmail(dot)com>, pgsql-jdbc(at)postgresql(dot)org
Subject: Re: "could not determine data type of parameter" with timestamp
Date: 2017-12-05 20:22:15
Message-ID: 1512505335.4814.5.camel@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On Tue, 2017-12-05 at 15:11 +0000, Rémi Aubel wrote:
> Hello,
>
>
>
> The solution given 4 years ago was to explicitly cast the parameter
> as a timestamp (select * from my_table where ?::timestamp is null).
> But this workaround is not really useful for me, because my
> application uses generated (dynamic) queries and targets multiple
> database types (not only PosgreSQL). So, when I know the targeted
> database, I do not know my parameter types anymore.
>
> Any suggestion?
>
> Thanks in advance.
>
> Rémi.
>
>

Hi Rémi,

After creating the Prepared Statement you can do a
ResultSetMetaData.getMetaData() which returns an object containing the
data types of the columns in your select list.
Then for each column in your "where" clause you can obtain its data
type and then do setLong, setString, setTimeStamp or whatever,
according to its type. Then do the "execute" to obtain the actual
result set.

HTH,
Rob

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Rémi Aubel 2017-12-05 20:33:51 Re: "could not determine data type of parameter" with timestamp
Previous Message Rémi Aubel 2017-12-05 15:11:35 "could not determine data type of parameter" with timestamp