File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes JDBC and Relational Databases and the fly likes retrieving parameter values from PreparedStatement Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » JDBC and Relational Databases
Bookmark "retrieving parameter values from PreparedStatement" Watch "retrieving parameter values from PreparedStatement" New topic

retrieving parameter values from PreparedStatement

Fernando Dominguez
Ranch Hand

Joined: Sep 01, 2006
Posts: 104

I would like to make a method which replaces the tipical preparedstatement clause (?) from a sql String with it's value.
This should be the method sign
public String preparedReplace (String argSql, PreparedStatement pstm)
I want to retrieve parameter values from the preparedStatement object but I don´t know how.
Is There any way of retrieving these parameter values?
The API (ParameterMetaData) doesn´t show how to do that.
Thanks in advance.
Martin Vajsar

Joined: Aug 22, 2010
Posts: 3733

As far as I know, there isn't a way to do this using the API. There are several frameworks that do similar things, such as p6spy or log4jdbc.

I've actually implemented a wrapper around PreparedStatement, which intercepts and stores the values of parameters being passed and can output the SQL query text with embedded literals. I haven't implemented it fully though, only those parts that are needed by my project. It doesn't support obtaining BLOB and CLOB parameters back, for example. Implementing it for the standard types isn't that hard, the hard part is to ensure it is used at all appropriate places.
Fernando Dominguez
Ranch Hand

Joined: Sep 01, 2006
Posts: 104

Thank you for the quick response.

The idea is to make a simple method, nothing too complicated.

I didn´t know that frameworks. I not going to use them at the moment but they will probably be very usefull in a near future.


I agree. Here's the link:
subject: retrieving parameter values from PreparedStatement
It's not a secret anymore!