gpt4 book ai didi

java - JDBC 插入语句不起作用

转载 作者:搜寻专家 更新时间:2023-10-31 19:35:58 25 4
gpt4 key购买 nike

我正在尝试使用 jdbc 插入新记录。一切看起来都很好,我没有任何异常,但新记录没有插入到表中。 Select 语句工作正常。

  public Connection getConnection(){
Connection conn=null;
try {
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

try {
conn = DriverManager.getConnection(url);
conn.setAutoCommit(true);

} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}

public void insertDish(String name, float mass, float price, String description,int pizzeria_id) {
String insertStr = "insert into \"Dish\"(name,mass,price,description,pizzeria_id) values("+"'"+name+"'"+", "+mass+", "+price+", "+"'"+description+"'"+", "+pizzeria_id+")";

Connection conn = getConnection();

try {
Statement sql = conn.createStatement();
sql.executeUpdate(insertStr);
sql.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

有什么问题吗?

最佳答案

我遇到过类似的情况,我的数据库查询软件没有看到从我的 Java 程序完成的插入/更新,因为它们没有提交,因此对其他连接不可见。

尝试在执行语句后立即进行显式提交:

sql.executeUpdate(insertStr);
conn.commit(); // ADDED
sql.close();

如果可行,您可能需要调整您的自动提交设置,或者只保留显式提交。

关于java - JDBC 插入语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3990860/

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