Re: Retrieve Query

From: Hugo Sacramento <hugo_sacramento(at)yahoo(dot)com(dot)br>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Retrieve Query
Date: 2006-03-03 00:30:24
Message-ID: 44078E20.3010703@yahoo.com.br
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

I got jdbc source code and make it with follow change:

org.postgresql.jdbc3.Jdbc3PreparedStatement.java:

public String toString() {
return preparedQuery.toString(preparedParameters);
}

Works fine.

Achilleus Mantzios escreveu:
> O Markus Schaber έγραψε στις Feb 27, 2006 :
>
>
>> Hi, Hugo,
>>
>> Hugo Sacramento wrote:
>>
>>> How do I to retrieve the string query prepared by a PreparedStatement??
>>>
>>> -------------
>>> PreparedStatement stmt = con.prepareStatement("select * from abc where
>>> x=?");
>>> stmt.setString(1, x);
>>> System.out.println("My Prepared Query:" + stmt.toString());
>>> ------------
>>>
>>> but it don't work.
>>>
>> There are at least two potential problems:
>>
>> - The statement is prepared server-side, and the parameters are sent
>> separately (binding). Only the server has the "real" representation of
>> the complete statement. So the prepared statement can only give an
>> approximation, which is what pgjdbc does.
>>
>> - Most connection pooling and datasource mechanisms (e. G. in jboss)
>> wrap your connection and all other classes (including the statement),
>> but don't delegate the toString() method, so you'll only get something
>> like "org(dot)jboss(dot)pool(dot)wrappedStatement(at)4711".
>>
>
> In jboss there is getUnderlyingStatement() method
> so you could
>
> PreparedStatement st=...
> .....
> org.jboss.resource.adapter.jdbc.local.LocalPreparedStatement jst =
> (org.jboss.resource.adapter.jdbc.local.LocalPreparedStatement) st;
>
> org.postgresql.jdbc3.Jdbc3PreparedStatement pst =
> (org.postgresql.jdbc3.Jdbc3PreparedStatement) jst.getUnderlyingStatement();
>
> System.out.println(pst.toString());
>
>
>> HTH,
>> Markus
>>
>>
>
>


_______________________________________________________
Yahoo! Acesso Grαtis - Internet rαpida e grαtis. Instale o discador agora!
http://br.acesso.yahoo.com

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Eberhard Schulte 2006-03-03 09:15:32 Enhancement: toBoolean() and empty String
Previous Message Jan de Visser 2006-03-02 20:12:19 Re: Exception: An I/O error occured while sending to the backend