JDBC 操作 Access,Debug 逐步執行時數據能寫入,直接 Run 運行時數據庫無變化。
conn.setAutoCommit(false);
// ... 執行 SQL ...
conn.commit(); // 關鍵:強制提交
// 可選:Thread.sleep(100); 給驅動緩衝時間
try (Connection conn = DriverManager.getConnection(url);
PreparedStatement ps = conn.prepareStatement(sql)) {
ps.executeUpdate();
conn.commit(); // 顯式提交
} // try-with-resources 自動關閉,但最好先 commit
UCanAccess 或 Jackcess 替代老舊 JDBC-ODBC Bridge(Java 8+ 已移除)。String sql = "INSERT INTO t_user(uid, login_name) VALUES (?, ?)";
try (Connection conn = DriverManager.getConnection(url);
PreparedStatement ps = conn.prepareStatement(sql)) {
conn.setAutoCommit(false);
ps.setString(1, "3");
ps.setString(2, "fxf");
int result = ps.executeUpdate();
conn.commit(); // 關鍵行
if (result > 0) System.out.println("success!!!");
} catch (SQLException e) { e.printStackTrace(); }