JTable не будет отображать данные
Поэтому я недавно пытался вставить данные в Jtable из базы данных. Программа запускает Jframe "Quote", который содержит JTable, называемый "tblQuote". на экране "Цитата" есть кнопка "Добавить товар", которая открывает фрейм, позволяющий пользователю выбрать товар из базы данных. Я добавил в цитату класса метод для обновления таблицы, которая получает значения в качестве параметра из класса add product. Класс add product получает значения из моего рабочего класса, который подключается к базе данных и обрабатывает все запросы.
Пожалуйста, обратите внимание, что все значения были успешно доставлены из базы данных, и что метод обновления таблицы был проверен на System.out.println, который я использовал для проверки того, работает ли она и были ли значения правильными.
но все равно не будет отображаться в таблице.
Код подключения к базе данных:
public String updateTableQ(String name) {
String results = "";
try {
String qry = "SELECT * FROM tblProducts WHERE Name =?";
PreparedStatement pst = conn.prepareStatement(qry);
pst.setString(1, name);
ResultSet rs = pst.executeQuery();
while (rs.next()) {
results += rs.getString("Excl Price") + "/"
+ rs.getString("Incl Price") + "/";
}
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
return results;
}
}
обновить код таблицы:
public void updateTable(String name, double ex, int qty, double vat, double disc, double total) {
Object[] row = {name, ex, qty, vat, disc, total};
DefaultTableModel model = (DefaultTableModel) tblQuote.getModel();
model.addRow(row);
System.out.println(name + " " + ex + " " + qty + " " + vat + " " + disc + " " + total);
}
}
Вызов методов в классе add:
String name = cmbProduct.getSelectedItem().toString();
String str =db.updateTableQ(name);
String[] arr = str.split("/");
double excl = Double.parseDouble(arr[0]);
double total = Double.parseDouble(arr[1]);
double vat = 15;
double disc = Double.parseDouble(txtInDiscount.getText());
int qty = Integer.parseInt(txtInQty.getText());
q.updateTable(name, excl, qty, vat, disc, total);
this.dispose();