gpt4 book ai didi

使用 UCanAccess 保存数据时 Java 应用程序挂起

转载 作者:行者123 更新时间:2023-11-30 10:53:25 26 4
gpt4 key购买 nike

我有一个程序可以将学生信息存储到 Microsoft 访问数据库中我使用 ucanaccess、jre 1.8 和 jdk 1.8但是我直接写入数据库的数据可以显示在我的程序中但是我在程序中输入的数据无法写入数据库,它只是在我将数据保存到数据库的那一刻卡住

这是我的连接类

class myConnection{
ResultSet re;

String strurl = "jdbc:ucanaccess://student.accdb";

public myConnection(){}
public ResultSet getResult(String sql){
try{
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");

Connection conn=DriverManager.getConnection(strurl);

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet re=stmt.executeQuery(sql);
return re;
}
catch(Exception e){
System.out.println("getResult------"+e.toString());
return null;
}
}

public boolean executeSql(String sql){
try{
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");

Connection conn=DriverManager.getConnection(strurl);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
conn.commit();
return true;
}
catch(Exception e){
System.out.println("executeSql----"+e.toString());
return false;
}
}
}

最佳答案

指定 ResultSet.CONCUR_UPDATABLE 并且无法关闭 ResultSet 会在相关表上留下锁。由于您实际上并未更新 ResultSet,因此您可以简单地省略该选项(从而使用默认的 ResultSet.CONCUR_READONLY)来避免该问题。

关于使用 UCanAccess 保存数据时 Java 应用程序挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34011186/

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