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

标签 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 作为后端数据库。

最佳答案

您有c.setAutoCommit(false);,因此在您c.commit();之前,您的INSERT实际上不会写入数据库。在 ps.executeUpdate() 之后添加该语句。

关于java - 无法使用 JDBC 在 SQLite3 数据库中插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24697601/

相关文章:

java - "cannot find symbol variable VK_NEXT"

java - 具体列表类型作为java方法中的参数

tomcat - 如何在 Spring/Tomcat 中完全禁用 JDBC 连接池?

java - JTable 不显示新插入的行/数据

.net - 使用 SubSonic 和 sqlite 插入主键值 - 问题因为 SubSonic 认为列是 AutoIncrement 或不是

node.js - SQLite Sequelize Js 在查询中添加一个额外的字段

sqlite - 部署到 Azure、SQLite/.NET Core 时执行迁移

Java 广义线性模型库

java - 我应该使用 mySQL TableView 还是 Spring Data JPA 投影?

mysql - 如何通过 java jdbc 连接到位于 Namecheap 服务器上的 MySQL 数据库?