2010-11-23 4 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" 

Я даже не используя ВОЗВРАЩЕНИЕ в моем запросе.

Любые идеи?

Любая помощь будет оценена по достоинству. Благодаря

Update: Это похоже на работу, если я использую это:

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

В чем разница между Чувствительным и INSENSITIVE?

Благодаря

+0

Вы разрешили разместить запрос? Если да, пожалуйста. –

ответ

4

Второй параметр prepareStatement должен быть одним из Statement.RETURN_GENERATED_KEYS или Statement.NO_GENERATED_KEYS.

Я думаю, что вы хотите использовать

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

Метод перегрузки Ahh в лучшем случае :) – jtnire