我想建立一个POS系统。 我输入一个项目编号(在jTextField中)并按下按钮。 然后根据项目编号,其名称和价格应显示在jTable中(数据库中项目编号的相关记录)
然后我输入另一个号码并按下按钮。并且它也应该在jTable中显示而不清除现有数据(作为新行)
String SQL = "SELECT name,price FROM items WHERE ID = ' "+jTextField1.getText()+" ' ";
pst = Conn.prepareStatement(sql);
rs = pst.executeQuery();
jTable1.setModel(DbUnits.resultSetToTableModel(rs));
请帮我构建一下。 注意:我已经构建了这个程序。我知道这不是一个自由网站! 我要求帮助添加包含数据的新行而不清除现有数据。
答案 0 :(得分:0)
它也应该在jTable中显示而不清除现有数据(作为新行)
那么你就不能使用setModel(...)
方法,因为这会用新数据替换所有现有数据。
你不能使用DbUtils.resultSetToTableModel(...)
方法,因为那将返回新的TableModel。
相反,您需要一次从ResultSet
行读取数据。当您阅读每一行时,您可以使用addRow(...)
的{{1}}方法将每行新数据添加到现有模型中。
答案 1 :(得分:0)
我使用此代码而不是上面的代码。但它在jTable中显示 javax.swing.table.DefaultTableModel@57168dd4 。
String sql = "SELECT name,price FROM items WHERE ID = '"+jtxt1.getText()+"'";
pst = conn.prepareStatement(sql);
rs=pst.executeQuery();
DefaultTableModel model=(DefaultTableModel)jTable1.getModel();
Vector row = new Vector();
row.add(DbUtils.resultSetToTableModel(rs));
model.addRow(row);
帮助!!