2010-11-23 33 views
4

私は(JDBCを使用)Javaでこのようなプリペアドステートメントを作成します。スクロール可能なResultSetのJDBC Postgresqlの

pStmt = conn.prepareStatement(qry); 

すべてがOKに動作します。私は、スクロール可能な結果セットをしたいと、この使用している場合しかし:

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

を私は構文エラーを取得:

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

私も私のクエリでRETURNING使用していませんよ。

アイデア?

ご協力いただければ幸いです。おかげ

アップデート: 私がこれを使用する場合に動作するようです:

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

SENSITIVEとINSENSITIVEの違いは何ですか?

おかげ

+0

を使用したいと思いますか?もしそうなら、してください。 –

答えて

4

をのprepareStatementの2番目のパラメータはのStatement.RETURN_GENERATED_KEYSまたはStatement.NO_GENERATED_KEYSの一つでなければなりません。

私は、クエリを投稿することが許可されているあなたは

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

Ahhメソッドは最高の状態でオーバーロードしています:) – jtnire