我正在尝试使用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();
}
}
Run Code Online (Sandbox Code Playgroud)
有什么不对?
我有类似的情况,我的数据库查询软件没有看到我的Java程序完成插入/更新,因为它们没有提交,因此其他连接不可见.
尝试在执行语句后立即执行显式提交:
sql.executeUpdate(insertStr);
conn.commit(); // ADDED
sql.close();
Run Code Online (Sandbox Code Playgroud)
如果可行,您可能需要调整AutoCommit设置,或者只使用显式提交.
| 归档时间: |
|
| 查看次数: |
4071 次 |
| 最近记录: |