java - MYSQL插入查询不更新数据到JAVA表中

标签 java mysql

我正在开发一个JAVA程序,需要从文本文件更新数据库。我已成功插入并更新数据。但我在这里遇到了这个方法的问题。查询运行没有错误并给出响应。但数据库表没有更新。

private void filteData() {
        System.out.println("filteData");
        Statement statementAtenLogInsert = null; 
        Statement statementqCheck = null; 
        Statement statementUpdateProLog = null; 
        Statement statementEnterError = null; 
        ResultSet rs = null;
        int rcount;

        //Update successfull attendance_test
        String attenLogInsertSuccess = "INSERT INTO attendance_log (user_id, check_in, check_out) SELECT user_id, check_in, check_out FROM process_log WHERE flag = 'S'";

        try {
            statementAtenLogInsert = connection.createStatement();
            statementAtenLogInsert.execute(attenLogInsertSuccess);
            int qSuccess = statementAtenLogInsert.executeUpdate(attenLogInsertSuccess);

            System.out.println("qSuccess " + qSuccess);

            if(qSuccess > 0){

                String deleteProcessLog = "DELETE FROM process_log WHERE flag = 'S'";
                statementAtenLogInsert.execute(deleteProcessLog);

            }

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


    }

此处,attenLogInsertSuccessdeleteProcessLog 查询不起作用。意味着数据库表方面没有发生任何事情。但是 qSuccess 给了我一个值。这意味着 attenLogInsertSuccess 正在触发。但 mysql 方面什么也没发生。

最佳答案

您需要关闭连接才能将更改刷新到数据库。

尝试在管道中的某个位置添加connection.close();,通常您在finally block 中关闭连接以确保它始终关闭,但看起来您已经在其他地方定义了连接,大概是为了在调用函数中重用。

您还需要在关闭连接之前关闭语句。参见 this similar answer对于模式。

关于java - MYSQL插入查询不更新数据到JAVA表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41776842/

相关文章:

缩小原始转换期间的 Java 编译器行为

java - 如何在 exo 播放器中显示 youtube 视频?

java - 为 JBehave 教程项目指定哪些正确的 Maven 依赖项?

java - Hibernate:session.createQuery 和 session 缓存

java - 使用 Android Studio 3 RC2 时出现错误 "package lombok doesn' t 存在

php - 如何从 doctrine/symfony 中设置 MysQL 变量(time_zone)?

mysql - Php PDO MySQL 表连接

php - 使用 PHP 进行 MySQL 多用户多表查询

mysql - 您的 MySQL 服务器版本,以便在第 1 行的 '@hotmail.com' 附近使用正确的语法

mysql - 根据条件再选择一张表,添加到条件中