我可以正常阅读行/列,但无法更新、插入或删除。
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String myDB = "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=myExcelFile.xls;"
+
"DriverID=22;READONLY=false";
con = DriverManager.getConnection(myDB, username, password);
stmt = con.createStatement();
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery("SELECT * FROM [users$]");
while (rs.next()) {
String str = rs.getString("username");
System.out.println(str);
rs.updateString("username", str + "UPDATED");
rs.updateRow();
}
rs.close();
stmt.close();
con.close();
}catch(Exception e){System.out.println(e);}
此代码在执行到
rs.updateRow();
时失败,并显示以下错误:注意:有些人说这是因为READONLY未设置为false或0,但我已经设置过了,并且Excel文件也没有设置为只读。我按照此处的更新ResultSet对象中的行步骤进行操作:http://download.oracle.com/javase/tutorial/jdbc/basics/retrieving.html。java.sql.SQLException: [Microsoft][ODBC Excel Driver]Error in row