可滚动的ResultSet JDBC Postgresql

jtn*_*ire 5 java database postgresql jdbc resultset

当我在java(使用JDBC)中创建这样的预准备语句时:

pStmt = conn.prepareStatement(qry);
Run Code Online (Sandbox Code Playgroud)

一切正常.但是,当我想要一个可滚动的结果集并使用它:

pStmt = conn.prepareStatement(qry,ResultSet.TYPE_SCROLL_INSENSITIVE);
Run Code Online (Sandbox Code Playgroud)

我收到语法错误:

org.postgresql.util.PSQLException: ERROR: syntax error at or near "RETURNING"
Run Code Online (Sandbox Code Playgroud)

我甚至没有在查询中使用RETURNING.

有任何想法吗?

任何帮助,将不胜感激.谢谢

更新: 如果我使用它似乎工作:

pStmt = db.prepareStatement(qry,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
Run Code Online (Sandbox Code Playgroud)

SENSITIVE和INSENSITIVE有什么区别?

谢谢

小智 5

prepareStatement 的第二个参数应该是 Statement.RETURN_GENERATED_KEYS 或 Statement.NO_GENERATED_KEYS 之一。

我猜你想用

PreparedStatement prepareStatement(String sql,
                                   int resultSetType,
                                   int resultSetConcurrency)
Run Code Online (Sandbox Code Playgroud)