我正在尝试在数据库中添加Insert
查询。一切正常,我没有收到任何错误。但是我插入数据库的数据没有反映在数据库中。在排序中,数据库不会更新。
try{
Database_Operation db = new Database_Operation();
db.connection();
db.cn.setAutoCommit(false);
db.cn.commit();
PreparedStatement ps1=db.cn.prepareStatement("insert into product values(?,?,?)");
Boolean status = true;
ps1.setString(1,name.getText());
ps1.setString(2, price.getText());
ps1.setString(3, status.toString());
db.cn.close();
JOptionPane.showMessageDialog(this," Data saved ", "succsess" ,1);
}catch(Exception e){
e.printStackTrace();
}
这里有什么问题?
答案 0 :(得分:1)
您错过了execution
声明。在DB
关闭之前添加以下行。
ps1.executeUpdate();
答案 1 :(得分:1)
您的执行声明缺失。 您只是形成查询而不是执行它。
在关闭数据库连接之前,请将此行添加到您的代码中:
ps1.executeUpdate;
答案 2 :(得分:1)
您必须在Database_Operation中有一个执行方法,然后在prepareStatement初始化之后执行,如下所示:
try {
// execute update SQL stetement
ps1.executeUpdate();
System.out.println("Record is updated to DBUSER table!");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
答案 3 :(得分:0)
你还没有执行PreparedStatement.Add以下行ps1.execute();
try{
Database_Operation db = new Database_Operation();
db.connection();
db.cn.setAutoCommit(false);
db.cn.commit();
PreparedStatement ps1=db.cn.prepareStatement("insert into product values(?,?,?)");
Boolean status = true;
ps1.setString(1,name.getText());
ps1.setString(2, price.getText());
ps1.setString(3, status.toString());
ps1.execute();
db.cn.close();
JOptionPane.showMessageDialog(this," Data saved ", "succsess" ,1);
}catch(Exception e){
e.printStackTrace();
}