私は、カーブランド、モデル、およびそれらが利用可能であるが、私は大きな問題を抱えています。私がテーブルに複数の車を入れると、新しい車がテーブルに印刷されますが、私が入力した以前の車も [Issue.png] [1]と転載します。最初はフェラーリエンツォに入り、テスラSに入りましたが、フェラーリエンツォは反復しています。java-jTableデータベースの反復値
車にデータベースを追加するのではなく、データベースを見ると[DatabasePic.png] [2]という2つしか表示されないためです。私は自分の車がJTableにどのように入っているのかという問題を知っています。私の方法は以下の通りです。..
ButtonClickEvent:
private void refreshbtnMouseClicked(java.awt.event.MouseEvent evt) {
try {
String Brand = brandlbl.getText();
String Model = modellbl.getText();
Boolean Available = false;
switch (availabilitybox.getSelectedItem().toString()) {
case "True":
Available = true;
break;
case "False":
Available = false;
break;
}
InsertApp nw = new InsertApp();
nw.insert(Brand, Model, Available);
nw.refreshDatabase(jTable1);
} catch (SQLException ex) {
Logger.getLogger(Window.class.getName()).log(Level.SEVERE, null, ex);
}
}
挿入方法:私は複数の車を入力すると
public void refreshDatabase(JTable table) throws SQLException {
Connection con = connect();
String SQL = "SELECT * FROM CARDATA";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(SQL);
int col = rs.getMetaData().getColumnCount();
System.out.println(col);
while (rs.next()) {
Object[] rows = new Object[col];
for (int i = 1; i <= col; i++) {
rows[i - 1] = rs.getObject(i);
}
((DefaultTableModel) table.getModel()).insertRow(rs.getRow() - 1, rows);
}
con.close();
rs.close();
stmt.close();
}
これは私のために働いた、ありがとう。 –