无法使用JDBC在SQLite3数据库中插入值

时间:2014-07-11 12:21:18

标签: java jdbc sqlite

我有以下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作为后端数据库。

1 个答案:

答案 0 :(得分:1)

您有c.setAutoCommit(false);,因此您的INSERT实际上不会被写入数据库,直到您c.commit();为止。在ps.executeUpdate()

之后添加该语句