Я могу читать строки / столбцы просто отлично, но не могу обновить, вставить или удалить.
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();
и отображает эту ошибку:
java.sql.SQLException: [Microsoft] [Драйвер ODBC Excel] Ошибка в строке
Примечание. Некоторые люди говорят, что для READONLY не задано значение false или 0, но яя уже сделал это, и файл Excel также не настроен только для чтения
Я следовал инструкциям по применению Обновление строк в объектах ResultSet здесь: http://download.oracle.com/javase/tutorial/jdbc/basics/retrieving.html