我用下面的代碼值java.sql.SQLException:[微軟] [ODBC驅動程序管理器]無效的描述符索引
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:access");
String sql = "Select * from table";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
for (int i = 1; i <= columns; i++) {
columnNames.addElement(md.getColumnName(i));
}
while (rs.next()) {
Vector row = new Vector(columns);
for (int i = 1; i <= columns; i++){
row.addElement(rs.getObject(i));
}
data.addElement(row);
}
rs.close();
stmt.close();
}catch(Exception e){
System.out.println(e);
}
它顯示:
java.sql.SQLException:[Microsoft][ODBC Driver Manager] Invalid descriptor index
這是怎麼造成的,我怎麼能解決這個問題?
究竟是什麼路線被拋出?您可以在堆棧跟蹤的第一行找到行號。異常表明您正在嘗試訪問結果集中的錯誤/未知列。但是你的問題中的代碼片段並沒有提供這些信息。 – BalusC 2011-06-15 16:55:24
感謝您的代碼更新。但異常處理非常差。用'e.printStackTrace()'或者'throw e'替換'System.out.println(e)'行。通過這種方式,您可以獲得完整的堆棧跟蹤,並可以瞭解發生此問題的行號。 – BalusC 2011-06-15 17:08:48