gpt4 book ai didi

java - 准备好的语句失败

转载 作者:行者123 更新时间:2023-12-02 08:37:25 25 4
gpt4 key购买 nike

我正在使用一个准备好的语句,该语句应该(使用 SQL 和 JDBC)将数据插入到数据表中。我使用的删除数据工作正常,但插入操作不会将任何数据插入数据表,也不会产生错误或警告。什么会导致准备好的语句以这种方式失败?在准备好的语句中插入空值会导致这种情况吗?

最佳答案

两种方法可以解决您的问题。

第一种方法:

    Connection con = DriverManager.getConnection(DB_host, DB_UserName, DB_UserPassword);
con.setAutoCommit(true);
String sql = "INSERT INTO Users (fName, lastName, userName, password) VALUES (?, ?, ?, ?)";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, "fName" );
stmt.setString(2, "lastName" );
stmt.setString(3, "userName" );
stmt.setString(4, "password" );
stmt.executeUpdate();

第二种方式:

Connection con = DriverManager.getConnection(DB_host, DB_UserName, DB_UserPassword);
String sql = "INSERT INTO Users (fName, lastName, userName, password) VALUES (?, ?, ?, ?)";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, "fName" );
stmt.setString(2, "lastName" );
stmt.setString(3, "userName" );
stmt.setString(4, "password" );
stmt.executeUpdate();
con.commit();

即在创建连接对象本身时启用自动提交 true。这样它会使更改立即反射(reflect)到您的数据库中。

否则在您的事务之后将连接作为提交以确保您的事务保存在数据库中

关于java - 准备好的语句失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1197110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com