在netbeans中从另一个表单添加表中的行

时间:2013-11-15 08:31:16

标签: java swing netbeans jdbc defaulttablemodel

我有两种形式:NetBeans中的“时尚和鞋类”和“购物车”。第一个表单包含4个按钮。另一个包含两个表CurrentPurchases和PreviousPurchases。从第一个表单中单击任何按钮时,项目名称和价格将转移到另一个表单中的CurrentPurchases表。我应该用什么代码/查询来实现这个目标? 我尝试了这段代码,但它没有用。

int dress1=100;
DefaultTableModel CurrPurchases=(DefaultTableModel)CurrentPurchases.getModel();
double price1=Double.parseDouble(Price1.getText());
int rows=CurrPurchases.getRowCount();
if(rows > 0){
    for (int i = 0; i < rows; i++) {
         CurrPurchases.removeRow(0);
    }
}
try{
    Connection connection=getConnection();
    ResultSet curprs=null;
    Statement buy1stmt=connection.createStatement();
    String Buy1Query1="Update Products set Quantity=Quantity-1 where Product_no=1;";
    String Buy1Query2="Insert into Buy values('"+Pname1.getText()+"',"+price1+");";
    buy1stmt.executeUpdate(Buy1Query1);
    buy1stmt.executeUpdate(Buy1Query2);
    dress1--;
    if(dress1==0){
        JOptionPane.showMessageDialog(null,"Sorry, This Item is Out of Stock!");
    }
    new ShoppingCart().setVisible(true);
    PreparedStatement buy2stmt=connection.prepareStatement("Select * from Buy;");
    curprs=buy2stmt.executeQuery();
    if(curprs.last()){
        CurrPurchases.addRow(new Object[]{curprs.getString(1),curprs.getDouble(2)});
    }
}
catch(Exception ex){
    ex.printStackTrace();
}
finally{}

此行显示错误:

DefaultTableModel CurrPurchases=(DefaultTableModel)CurrentPurchases.getModel();

注意:CurrentPurchases表是另一种形式,而不是这种形式。

1 个答案:

答案 0 :(得分:1)

接下来你的问题。您创建新的DefaultTableModel并向其添加新行,但它是本地对象,以后不再使用:

DefaultTableModel CurrentPurchases= new DefaultTableModel();
Pname=rs.getString("ProductName");
Price=rs.getString("Price");
CurrentPurchases.addRow(new Object[]{Pname,Price});

您需要从表中获取要添加新行的模型。例如,您有2种创建表的方法以及向该表添加行:

    public void init() {
        targetTable = new JTable(new DefaultTableModel());
    }

    public void addRow(){
        ((DefaultTableModel)targetTable.getModel()).addRow(new Object[]{});
    }

这里targetTable这是你的桌子(CurrentPurchases)。你需要参考它。

阅读tutorial for JTable