为什么我的更新功能在没有更新数据库的情况下完成并且没有给出错误?

问题描述 投票:0回答:1
private void Approve_btnActionPerformed(java.awt.event.ActionEvent evt) {                                            
        int bonus = Integer.parseInt(bonus_txt.getText());
            int sal = Integer.parseInt(salary_txt.getText());
            int sales = Integer.parseInt(sales_txt.getText());
            int net_sal= (bonus*sales)+sal;
            String netsal = Integer.toString(net_sal);
            String approve = "yes";

这是我的更新声明

        try {        
            DBconn();
            ps = con.prepareStatement("update bonus_table set approved='"+approve+"',net_sal='"+netsal+"' where e_code='"+ecode_txt.toString()+"'and bcode='"+bcode+"'");
            ps.executeUpdate();
            tableData();

此 tableData() 函数旨在更新 Jtable,以便它显示最新数据,它不是问题的一部分,因此我选择从问题中忽略它。另外,stackoverflow 要求我写下我的问题的描述,即使描述问题并不难

        } catch (SQLException ex) {
            Logger.getLogger(ManagerApproval.class.getName()).log(Level.SEVERE, null, ex);
        }        
    }

我的数据库连接方法

public void DBconn(){
        try{
            Class.forName("com.mysql.cj.jdbc.Driver");
            con=DriverManager.getConnection("jdbc:mysql://localhost:3306/bms_db","root","");
            ps = con.prepareStatement("select * from bonus_table");
            System.out.println(con);
        }
        catch(ClassNotFoundException ex){
            Logger.getLogger(BMS.class.getName()).log(Level.SEVERE,null,ex);
        }
        catch(SQLException ex){
            Logger.getLogger(BMS.class.getName()).log(Level.SEVERE,null,ex);
        }
    }

这些是在类中声明的变量,我只是将它们包含在内,这样 DBconn 函数就不会提出任何问题。

    Connection con;
    ResultSet rs;
    PreparedStatement ps;

我不明白,请有人帮忙,该项目将于午夜截止

java mysql xampp sql-update jframe
1个回答
0
投票

您可能想尝试以下操作:

int result = 0;
result = ps.executeUpdate();

这将为您提供已更新的行数。如果结果仍然为“0”,则可能与您的更新语句的某些问题有关,例如条件与任何记录不匹配。

问候

© www.soinside.com 2019 - 2024. All rights reserved.