查询运行成功但数据库未更新java

时间:2017-11-26 11:51:12

标签: java sql database jdbc

我正在尝试在数据库中添加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();
    }

这里有什么问题?

4 个答案:

答案 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();
}