无法进行更新 java UcanAccess

Posted

技术标签:

【中文标题】无法进行更新 java UcanAccess【英文标题】:Unable to make an update java UcanAccess 【发布时间】:2020-12-10 12:00:43 【问题描述】:

我正在尝试通过按 id 过滤将表更新到特定行,只要我尝试从 Java 运行查询就不会保存在数据库文档中。

如果我运行查询,没有异常,并且它运行就好像它已经成功运行一样,如果我执行 SELECT 以从 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;
    


编辑:仍然不知道为什么不工作,如果我在新制作的 MS Access 数据库中进行更新,它实际上可以工作。 似乎我正在尝试对其数据库文件版本进行更新的数据库是 V2010 [VERSION_14],而我创建的数据库是 2007 VER 12,我不知道这是否有任何帮助。

【问题讨论】:

如果数据在 SELECT 中返回,那么它必须在某个表中。有 2 个文件吗? @June7 不,我已经检查过了,应该发生的更改没有保存在 MS Access 数据库中。 【参考方案1】:

好的,我要回答自己,我发现为什么不工作,在我的 MS Access 表中(我正在尝试进行更新),我有一个图像行(Ole 对象)我有图像(位图图像​​),我删除了位图图像,现在它可以工作了。

【讨论】:

以上是关于无法进行更新 java UcanAccess的主要内容,如果未能解决你的问题,请参考以下文章

mybaties批量更新无法进行

NBU For Windows 更新后无法启动Java Console

MacOS 无法启动 android studio,需要 java 更新

使用Arthas实现JAVA热更新

无法删除或更新父行 - Java

在 Azure Active Directory Java Springboot 中更新用户数据