我有以下JDBC代码,其中我没有收到任何错误,但遗憾的是数据没有添加到数据库中。我正在使用的代码是:
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:../../clientDb.db");
c.setAutoCommit(false);
String expenseUUID = UUID.randomUUID().toString();
expenseUUID = expenseUUID.replaceAll("-", "");
String sqlQuery = "insert into expense (expenseUUID , user_id,expense_description,
total_amount, place, per_exp_flag, category " +
",creation_date ) values (?,?,?,?,?,?,?,?) ";
ps = c.prepareStatement(sqlQuery);
ps.setString(1, expenseUUID);
ps.setInt(2, user_id);
ps.setString(3, description);
ps.setInt(4, total_amount);
ps.setString(5, place);
ps.setInt(6, 1);
ps.setInt(7, category);
ps.setString(8, creation_date);
int result = ps.executeUpdate();
if(result == 1){
b = true;
}
错误是什么?当我尝试使用select语句时,我在结果集中得到了结果,但为什么不插入任何东西呢?我正在接受' 1'在
int result = ps.executeUpdate();
错误可能是什么?我使用SQLite3作为后端数据库。
答案 0 :(得分:1)
您有c.setAutoCommit(false);
,因此您的INSERT实际上不会被写入数据库,直到您c.commit();
为止。在ps.executeUpdate()
。