无法更新java UCanaAccess

332nm8kg  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(258)

我试图通过按id过滤来更新表中的一个特定行,只要我尝试运行java查询,它就不会保存在数据库文档中。
如果我运行这个查询,没有异常,它就像它已经成功运行一样运行,如果我选择从java收集信息并查看它是否已经更新,我发现它已经正确地更新了,但是如果我用ms access打开数据库,它没有被更改,如果我重新运行java程序,则不会进行更改。
数据库类

public class NHRPGDatabase {

static Connection connection;

public Connection openConnection() throws SQLException {

    String url = "jdbc:ucanaccess://NHRPGBD.accdb";

    return DriverManager.getConnection(url);
}

public void closeConnection(Connection connection) throws SQLException {
    connection.close();
}}

查询代码

public boolean updateName(int id, String name) throws SQLException {

    Connection con = db.openConnection();
    con.setAutoCommit(true);
    PreparedStatement update = con.prepareStatement("UPDATE Mi_Cuenta SET HabboNombre=? WHERE Id=?");
    update.setString(1, name);
    update.setInt(2, id);

    int result = update.executeUpdate();

    db.closeConnection(con);

    if (result == 1) {
        return true;
    } else {
        return false;
    }

}

编辑:仍然不知道为什么不工作,如果我在一个新的msaccess数据库中进行更新,它实际上是工作的。好像我要更新的数据库的db文件版本是v2010[version\u14],而我创建的数据库是2007ver12,我不知道这是否有帮助。

n6lpvg4x

n6lpvg4x1#

好的,我要回答我自己,我发现为什么不工作,在我的ms access表(我尝试进行更新的地方),我有一个图像行(ole对象),我有图像(位图图像),我删除了位图图像,现在它工作了。

相关问题