2010-11-23 4 views
4

Lorsque je crée une déclaration préparée comme celui-ci en Java (en utilisant JDBC):Scrollable ResultSet JDBC Postgresql

pStmt = conn.prepareStatement(qry); 

tout fonctionne bien. Cependant quand je veux un ResultSet scrollable et utilise ceci:

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

Je reçois une erreur de syntaxe:

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

Je ne suis pas même en utilisant RETOURNER dans ma requête.

Des idées?

Toute aide serait appréciée. Merci

Mise à jour: Il semble fonctionner si j'utilise ceci:

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

Quelle est la différence entre SENSIBLES et INSENSITIVE?

Merci

+0

Êtes-vous autorisés à afficher la requête? Si oui, faites s'il vous plaît. –

Répondre

4

Le second paramètre à prepareStatement doit être l'un des Statement.RETURN_GENERATED_KEYS ou Statement.NO_GENERATED_KEYS.

Je suppose que vous voulez utiliser

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

Ahh méthode de surcharge à son meilleur :) – jtnire

Questions connexes