Друзья, у меня есть 4 переменных с данными при каждом нажатии кнопки, и я хочу добавить эти 4 переменные в JTable с именем Bill_Table с 4 столбцами.У меня есть 4 переменных данных, как их отображать на jtable
Новая строка должна быть добавлена в JTable каждый раз, когда нажимается кнопка. Я попробовал следующий код. Я могу читать из базы данных, и я могу иметь 4 переменные, но я не могу вставить их в новую строку в JTable.
Как я могу это достичь?
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
item_name=name.getText();
int item_no=Integer.parseInt(no.getText());
String sql="SELECT id,price FROM item WHERE item.name='"+item_name+"'";
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con =(Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/myshop","root","mysql");
java.sql.Statement stmt=con.createStatement();
if (stmt.execute(sql)) {
rs = stmt.getResultSet();
JOptionPane.showMessageDialog(this, "succes","executed query",JOptionPane.PLAIN_MESSAGE);
} else {
System.err.println("select failed");}
int idIndex = rs.findColumn("id");
int priceIndex = rs.findColumn("price");
while(rs.next()){
item_id=rs.getInt(idIndex);
item_price=rs.getInt(priceIndex);
}
item_amount = (item_price*item_no);
Vector data_rows = new Vector();
data_rows.addElement(item_name);
data_rows.addElement(item_price);
data_rows.addElement(item_no);
data_rows.addElement(item_amount);
dtm.addRow(data_rows);
//dtm is DefaultTableModel object,delared globelly
bill_table.setModel(dtm);
//bill_table is table name
}
catch (Exception e){
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
Что происходит, когда вы запускаете этот код? Есть ли ошибка? Как это не завершает вашу задачу? – jzd
Почему вы не используете 'PreparedStatement', как было предложено в вашем последнем сообщении? – camickr
camickr, я могу читать данные из базы данных без подготовленного оператора, но проблема в том, что я не знаю, как отображать item_price, item_name, item_no, item_amount в строке в JTable – user2827435