Драйвер Java JDBC и TYPE_FORWARD_ONLY - PullRequest
0 голосов
/ 27 февраля 2009

Как я могу определить, является ли драйвер JDBC TYPE_FORWARD_ONLY? В моей программе пользователь настраивает параметры подключения к базе данных, и он может использовать любой драйвер JDBC в пути к классам. Я хочу знать, если драйвер TYPE_FORWARD_ONLY, прежде чем выполнять какие-либо заявления. Это возможно?

Ответы [ 4 ]

4 голосов
/ 27 февраля 2009

DatabaseMetaData имеет метод supportResultSetType (тип int), который можно использовать для проверки, поддерживает ли ResultSet TYPE_FORWARD_ONLY.

1 голос
/ 27 февраля 2009

Путем запроса типа набора результатов. Например:

Statement stmt = con.createStatement(
 ResultSet.TYPE_FORWARD_ONLY,
 ResultSet.CONCUR_UPDATABLE
);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
System.out.println(
 "Is Type Forward Only: " + 
 (rs.getType() == ResultSet.TYPE_FORWARD_ONLY)
);
0 голосов
/ 27 февраля 2009

Вы можете получить DriverPropertyInfo из драйвера, хотя я не могу найти конкретную спецификацию jdbc, которая описывает, что должен вернуть драйвер. У этой ссылки может быть больше.

0 голосов
/ 27 февраля 2009

Есть драйверы, которые не поддерживают прокрутку? Не могли бы вы привести пример? Что возвращает такой драйвер, когда вы пытаетесь создать Statement / ResultSet, который является SCROLL_SENSITIVE, а затем запрашиваете тип? Как это:

Connection con = ...;
Statement statement = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ...);
System.out.println(statement.getResultSetType());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...