2010-11-23 62 views
4

當我在Java中創建一個準備好的聲明中這樣的(使用JDBC):滾動的ResultSet JDBC PostgreSQL的

pStmt = conn.prepareStatement(qry); 

一切工作正常。然而,當我想要一個滾動的ResultSet,並使用此:

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

我得到一個語法錯誤:

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

我還沒有使用我的查詢回來。

任何想法?

任何幫助,將不勝感激。由於

更新: 這似乎工作,如果我用這個:

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

是什麼敏感和不敏感的區別?

由於

+0

你被允許張貼查詢?如果是這樣,請做。 – 2010-11-23 18:48:02

回答

4

到prepareStatement的第二個參數應該是Statement.RETURN_GENERATED_KEYS或Statement.NO_GENERATED_KEYS之一。

我猜你想使用

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

Ahh方法重載最好:) – jtnire 2010-11-23 19:26:22