我想在单位数中添加多少项,并在总费用中计算。
private void display()
{
DefaultTableModel model= (DefaultTableModel)SupplyRSTable.getModel();
SupplyRSTable.revalidate();
model.getDataVector().removeAllElements();
try{
stmt = conn.createStatement();
stmt.executeQuery("SELECT itemcode,itemname,itemgroup,itemcost FROM supplytable");
rs = stmt.getResultSet();
while (rs.next())
{
String r1 = rs.getString("itemname");
String r2 = rs.getString("itemgroup");
String r3 = rs.getString("itemcost");
String r4 = rs.getString("itemcode");
model.addRow(new Object[] {r4,r1,r2,r3});
SupplyRSTable.revalidate();
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e.getMessage());
}`
我只有一个显示器
答案 0 :(得分:0)
1:你错误地编写了代码;只有部分格式在这篇文章中。
2:我假设您所从的数据库中有一个具有单位数的列,因此查询应该是这样的:
stmt.executeQuery("SELECT itemcode,itemname,itemgroup,itemcost,itemcount FROM supplytable");
我们的想法是使用已经存在的项目成本和项目计数的先前值创建该总列,因此它应如下所示:
String r1 = rs.getString("itemname");
String r2 = rs.getString("itemgroup");
String r3 = rs.getString("itemcost");
String r4 = rs.getString("itemcode");
String r5 = rs.getString("itemcount");
Integer cost= Integer.parseInt(r5);
Integer amount=Integer.parseInt(r3);
Integer total=cost*amount;
String r6=Integer.toString(total);
model.addRow(new Object[] {r4,r1,r2,r3,r5,r6});
SupplyRSTable.revalidate();
当然,将一个整数成本乘以金额可能会产生十进制值,例如31.43 $,因此您可以/应该用Double替换total变量,在这种情况下您需要更改r6整数解析。