Java JDBC驱动程序和TYPE_FORWARD_ONLY

时间:2009-02-27 15:30:52

标签: java jdbc

如何判断JDBC驱动程序是否为TYPE_FORWARD_ONLY?在我的程序中,用户为数据库配置连接参数,他可以在类路径中使用任何JDBC驱动程序。我想在执行任何语句之前知道驱动程序是否为TYPE_FORWARD_ONLY。这可能吗?

4 个答案:

答案 0 :(得分:4)

DatabaseMetaData有一个方法supportsResultSetType(int type),可用于检查ResultSet是否支持TYPE_FORWARD_ONLY

答案 1 :(得分:1)

querying the type结果集。例如:

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)
);

答案 2 :(得分:0)

有些驱动程序不支持滚动吗?你举个例子吗?当您尝试创建一个SCROLL_SENSITIVE的Statement / ResultSet然后询问Type时,这样的驱动程序会返回什么?像这样:

Connection con = ...;
Statement statement = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ...);
System.out.println(statement.getResultSetType());

答案 3 :(得分:0)

您可以从驱动程序获取DriverPropertyInfo,但我找不到描述驱动程序必须返回的特定jdbc规范。 This reference可能会有更多。