Alex Rivera | Logout

Get query from java.sql.PreparedStatement

Asked 2010-04-21T13:21:13.333
196

In my code I am using java.sql.PreparedStatement.

I then execute the setString() method to populate the wildcards of the prepared statement.

Is there a way for me to retrieve (and print out) the final query before the executeQuery() method is called and the query is executed? I Just want this for debugging purposes.

Edit
Report

1 Answer

3

A bit of a hack, but it works fine for me:

Integer id = 2;
String query = "SELECT * FROM table WHERE id = ?";
PreparedStatement statement = m_connection.prepareStatement( query );
statement.setObject( 1, value );
String statementText = statement.toString();
query = statementText.substring( statementText.indexOf( ": " ) + 2 );
answered 2012-12-26T22:43:54.000

Your Answer