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;
我不明白,请有人帮忙,该项目将于午夜截止
您可能想尝试以下操作:
int result = 0;
result = ps.executeUpdate();
这将为您提供已更新的行数。如果结果仍然为“0”,则可能与您的更新语句的某些问题有关,例如条件与任何记录不匹配。
问候