gpt4 book ai didi

java - 使用 UCanAccess 对结果集应用更新仅更新第一行

转载 作者:搜寻专家 更新时间:2023-10-30 23:00:54 24 4
gpt4 key购买 nike

我正在尝试使用 Java 中的 ucanaccess 更新 Microsoft Access 数据库中的多行。问题是在更新第一行之后没有其他事情发生,就好像游标被关闭一样。这是我的代码:

    Connection con = DriverManager.getConnection("jdbc:ucanaccess://"+ filepath);
String qry = "SELECT * FROM Elenco_Aziende";

Statement stmtautisti = on.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE,ResultSet.HOLD_CURSORS_OVER_COMMIT);

String qryautisti = "SELECT * FROM Elenco_Autisti";
ResultSet rsautisti = stmtautisti.executeQuery(qryautisti);

while (rsautisti.next()) {
rsautisti.updateString("Problemi", "Nessuno");
rsautisti.updateRow();
}

执行后仅更新第一行...这是 ucanaccess 的已知错误还是其他错误?

最佳答案

这个问题似乎与 HSQLDB 的行为有关(UCanAccess 在“幕后”使用它)。根据HSQLDB documentation

In autocommit mode, all ResultSet objects are read-only and holdable.

因此,为了能够更新 ResultSet,我们需要在打开它之前 con.setAutoCommit(false),然后执行 con.commit()将更改写回数据库。

有关此问题的更多讨论,请参阅 this thread在 UCanAccess 论坛上。

关于java - 使用 UCanAccess 对结果集应用更新仅更新第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32907205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com