stackoverflow.com/questions/46335309/...

обавить новые строки в 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));

Редактировать:- С помощью всех ответов я изменяю код на приведенный ниже код, но все в порядке. Но здесь я получаю ошибку вDefaultTableModel

String sql = "SELECT name,price FROM items WHERE ID = '"+jtxt1.getText()+"'";
        pst = conn.prepareStatement(sql);
        rs=pst.executeQuery();
DefaultTableModel model = new DefaultTabelModel(new String[]{"Name","Price"},0);
        Vector row = new Vector();
        while(rs.next())
        {
        String d = rs.getString("name");
        String e = rs.getString("price");
        row.add(new Object[]{d,e});

        model.addRow(row);}

Новый код

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(rs);
model.addRow(row);

Новейший код

ResultSetMetaData metaData;
public void metaData() throws SQLException {
        this.metaData = rs.getMetaData();
        }
String sql = "SELECT name,price FROM items WHERE ID = '"+jtxt1.getText()+"'";
            pst = conn.prepareStatement(sql);
            rs=pst.executeQuery();

            int columnCount = metaData.getColumnCount();
            Vector<String> columnNames = new Vector<String>();

            for (int column = 1; column <= columnCount; column++) {
                columnNames.add(metaData.getColumnName(column));
                System.out.println("ColumnNames "+columnNames );
            }

            DefaultTableModel datamodel = new DefaultTableModel(columnNames, 0);
            jTable1.setModel(datamodel);

            while (rs.next()) {
                Vector<String> vector = new Vector<String>();
                for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
                vector.add(rs.getString(columnIndex)); 
                }
                datamodel.addRow(vector);
            }

** Но здесь я получаю ошибку NullpointException! И как выбрать jTable1 в качестве таблицы в приведенном выше коде?

Ответы на вопрос(1)

Ваш ответ на вопрос