jtnire
jtnire

Reputation: 1358

Scrollable ResultSet JDBC Postgresql

When I create a prepared statement like this in java (using JDBC):

pStmt = conn.prepareStatement(qry);

everything works ok. However when I want a scrollable resultset and use this:

pStmt = conn.prepareStatement(qry,ResultSet.TYPE_SCROLL_INSENSITIVE);

I get a syntax error:

org.postgresql.util.PSQLException: ERROR: syntax error at or near "RETURNING"

I'm not even using RETURNING in my query.

Any ideas?

Any help would be appreciated. Thanks

Update: It seems to work if I use this:

pStmt = db.prepareStatement(qry,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);

What is the difference between SENSITIVE and INSENSITIVE?

Thanks

Upvotes: 6

Views: 5699

Answers (2)

kjpradeep
kjpradeep

Reputation: 27

ResultSet.TYPE_SCROLL_INSENSITIVE : This assumes that the result set does not “sense” database changes that occurred after execution of the query.

ResultSet.TYPE_SCROLL_SENSITIVE : picks up changes in the database that occurred after execution of the query

Upvotes: 0

Haderlump
Haderlump

Reputation: 126

The second parameter to prepareStatement should be one of Statement.RETURN_GENERATED_KEYS or Statement.NO_GENERATED_KEYS.

I guess you want to use

PreparedStatement prepareStatement(String sql,
                                   int resultSetType,
                                   int resultSetConcurrency)

Upvotes: 5

Related Questions