无法进行更新 java UcanAccess
Unable to make an update java UcanAccess
我正在尝试通过按 id 过滤对特定行的 table 进行更新,只要我尝试 运行 从 Java 查询不是保存在数据库文件中。
如果我 运行 查询,没有异常并且 运行 就好像它 运行 成功了,如果我 SELECT 来收集信息来自 Java 并查看它是否已更新 我发现它已正确更新,但是如果我用 MS Access 打开数据库它没有被更改,如果我重新 运行 Java 程序未进行更改。
数据库class
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,我不知道这是否有任何帮助。
好的,我要自己回答,我发现为什么不起作用,在我的 MS Access table(我正在尝试进行更新)中,我有一个图像行(Ole对象)我有图像(位图图像),我删除了位图图像,现在它可以工作了。
我正在尝试通过按 id 过滤对特定行的 table 进行更新,只要我尝试 运行 从 Java 查询不是保存在数据库文件中。
如果我 运行 查询,没有异常并且 运行 就好像它 运行 成功了,如果我 SELECT 来收集信息来自 Java 并查看它是否已更新 我发现它已正确更新,但是如果我用 MS Access 打开数据库它没有被更改,如果我重新 运行 Java 程序未进行更改。
数据库class
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,我不知道这是否有任何帮助。
好的,我要自己回答,我发现为什么不起作用,在我的 MS Access table(我正在尝试进行更新)中,我有一个图像行(Ole对象)我有图像(位图图像),我删除了位图图像,现在它可以工作了。