我需要通过使用MySQL计算行的值来显示JTable
行中的结果。当用户单击保存按钮时,Recevied + PCU存储在Balance中。什么是查询?
JTable
显示记录;保存表的记录。
JButton btnSave = new JButton("Save");
Image img4= new ImageIcon(this.getClass().getResource("/save.png")).getImage();
btnSave.setIcon(new ImageIcon(img4));
btnSave.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try{
String query="insert into Detail (ID,Date,Received,PCU,CLR,Sole,Sale,Balance) values (?,?,?,?,?,?,?,?)";
PreparedStatement pst=connection.prepareStatement(query);
pst.setString(1,textField.getText());
pst.setString(2,textField_1.getText());
pst.setString(3,textField_2.getText());
pst.setString(4,textField_3.getText());
pst.setString(5,textField_4.getText());
pst.setString(6,textField_5.getText());
pst.setString(7,textField_6.getText());
pst.setInt(8, 2-3 );
pst.execute();
JOptionPane.showMessageDialog(null, "Data Saved");
pst.close();
//rs.close();
}catch(Exception e){
e.printStackTrace();
}
refreshTable();
}
答案 0 :(得分:0)
当用户点击保存按钮时,已收到+ PCU存储在余额中。
将数据存储到表中时进行计算。
首先,Received和PCU不应存储为字符串。它们应该存储在一个int中。
所以你的代码应该是这样的:
int receivedData = Integer.parseInt( textField_?.getText() );
int pcuData = Integer.parseInt( textField_?.getText() );
pst.setInt(?, receivedData);
pst.setInt(?, pcuData);
...
pst.setInt(8, receivedData + pcuData);
此外,使用有意义的变量名称。我不知道textField_1,2,3,4代表什么。使用接收,pcu,clr等名称,以便我们了解您正在采取的措施。