繁体   English   中英

正常运行代码时我无法执行sqlite语句,但在调试模式下它可以工作。 这怎么可能?

[英]I can't execute sqlite statement when running code normally, but in debug mode it works. How is it possible?

我有一个通过 JDBC 连接到我的 java 项目的 SQLite 数据库。 我可以轻松读取所有数据并将新用户添加到我的数据库中,但是当我执行准备好的语句时,我得到一个 SQLexeption。 在我以调试模式运行程序并在准备好的语句行设置断点后,它可以毫无问题地完成任务。

我尝试切换代码,所有其他语句都可以工作,例如 INSERT 或 SELECT。 只有 UPDATE(以任何形式)不起作用。 我尝试在 sql 命令行中执行该语句并且它起作用了,所以没有问题。

public void makeReq(int type,String SPZ){
        String sql = "UPDATE users "
                + "SET req = ? "
                + "WHERE SPZ = ?";
        try {
            conn = DriverManager.getConnection("jdbc:sqlite:users.db");
            PreparedStatement pstmt = conn.prepareStatement(sql); 
            pstmt.setInt(1, type);
            pstmt.setString(2, SPZ);
            int rowAffected = pstmt.executeUpdate();


        } catch (SQLException e) {
            System.out.println("FATAL ERROR: couldn't connect to the USERS database");
        }
    }

我希望它执行并更新选定的表(用户)。

感谢您的帮助。

找到答案:我在我的项目中的其他地方打开了我的数据库,我想我删除了它,但我没有。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM