我有一个涉及 ODBC 数据库查询的 JAVA 项目,我需要在其中移动结果集中的光标。我已经声明了的类型ResultSet
是TYPE_SCROLL_SENSITIVE
,但是当我执行脚本时,我得到一个异常,说明ResultSet
类型是TYPE_FORWARD_ONLY
。我在下面粘贴了我的(简化的)项目代码,希望有任何帮助。
import java.util.InputMismatchException; //Necessary package for basic Java utilities
import java.sql.*; //Necessary packages for SQL routines
public class test {
public static void main(java.lang.String[] args) throws Exception {
// declare variables & create database connection
System.out.println("Open ODBC Connection....");
Connection dataConnection = DriverManager.getConnection("jdbc:odbc:DSN");
Statement stmt = dataConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
int i = 0;
int N = 0;
//loading JDBC-ODBC Bridge driver into memory
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// create SQL query string
String sql = "SELECT ObjRef, IDX, DateListDateAsString FROM ARRAY_BAC_CAL_DateList WHERE DEV_ID=10000 AND INSTANCE=1";
// run the query
ResultSet rs = stmt.executeQuery(sql);
// determine number of date entries
rs.last();
N = rs.getInt("IDX");
// close connection
rs.close();
dataConnection.close();
System.out.println ("Connection closed\n");
}
}
我收到的错误是:
“线程“主”java.sql.SQLException 中的异常:结果集类型是 TYPE_FORWARD_ONLY 在 sun.jdbc.odbc.JdbcOdbcResultSet.last(JdbcOdbcResultSet.java:2290) 在 test.main(test.java:26)
第 26 行是我尝试移动结果集光标的位置。
同样,任何帮助将不胜感激。