问题描述
我正在为我的(IB)计算机科学项目使用Java NetBeans编程库存管理系统。我的客户生产5种不同的阀门,该软件应允许在MysqL DB中添加,删除和更改每个阀门的组件记录。由于每个阀门的任务都相似,因此我创建了一个名为“ Stock_interface”的父类,并使用继承将属性传递给每个“ valve”子类。我在子类中重写了某些方法,例如update();但是,根本不使用覆盖更新按钮的方法,因此,当用户更新任何记录时,它会在主表中而不是MysqL中所需的“阀”表中更改。 我不确定该怎么做需要帮助。老实说,我是Java和OOP概念的新手,因此无法在网上搜索答案。
public void Update(){
Connection conn = null;
Statement st = null;
DefaultTableModel model = (DefaultTableModel) Stock_table.getModel();
int rcount = model.getRowCount();
try {
Class.forName(jdbcDriver);
conn = DriverManager.getConnection(dbURL,username,password);
String sql = "INSERT INTO valve_stock.filler (Component_name,Req_per_valve,In_Stock,Unit_cost,PO_bal,Exp_dispatch) VALUES(?,?,?) ";
//String s = "UPDATE valve_stock.filler SET Component_name=?,Req_per_valve=?,In_Stock=?,Unit_cost=?,PO_bal=?,Exp_dispatch=?";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1,cp_name.getText());
pst.setInt(2,Integer.parseInt(req_valve.getText()));
pst.setInt(3,Integer.parseInt(stocknum.getText()));
pst.setFloat(4,Float.parseFloat(unitcost.getText()));
pst.setInt(5,Integer.parseInt(pobal.getText()));
pst.setInt(6,Integer.parseInt(expdispatch.getText()));
pst.executeUpdate();
JOptionPane.showMessageDialog(null,"Record Updated Succesfully");
show_components();
conn.close();
} catch (sqlException ex) {
Logger.getLogger(Stock_interface.class.getName()).log(Level.SEVERE,null,ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(Stock_interface.class.getName()).log(Level.SEVERE,ex);
}
bal_calculation();
reqbal_calc();
}
private void b_updateActionPerformed(java.awt.event.ActionEvent evt) {
// Todo add your handling code here:
//if (Class.)
Update();
}
private void b_updateActionPerformed(java.awt.event.ActionEvent evt) {
// Todo add your handling code here:
Connection conn = null;
Statement st = null;
try {
Class.forName(jdbcDriver);
conn = DriverManager.getConnection(dbURL,password);
String sql = "INSERT INTO valve_stock.s_12 (Component_name,?) ";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1,ex);
}
reqbal_calc();
}
请注意上面两种方法在字符串'sql'中的区别:第一种是“ from valve_stock.filler”,第二种是“ from valve_stock.s_12”。但是在子类中,不使用第二种方法,因为单击更新按钮时,它仅调用第一种方法。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)