私はJTable
SQLサーバーと関係があり、行を更新しようとすると、この行がコンストラクターにないため、最初のセルを除くすべてのセルが更新されます。そのため、手動で変更しようとしまし
tableAlbum.setValueAt(artistName, tableAlbum.getSelectedRow(), 0);
たが、テーブルは更新されません。フレームを手動で更新すると、セルは正しい値で正しく表示されます。
これが私のコードです:
else if (e.getSource() == btnConfirm) {
String artistName = (String) tableAlbum.getValueAt(tableAlbum.getSelectedRow(), 0);
tableAlbum.setValueAt(artistName, tableAlbum.getSelectedRow();
modele.editAlbum(tableAlbum.getSelectedRow(), tile, price, genre, year, home, "");
私の editMethod があります:
public void modifierAlbum(int num, String title, double price, String genre,
String year, String home, String image) {
Album album = null;
Statement statement;
try {
statement = connexion.createStatement();
String query = "USE albums UPDATE Album SET title='"+title+"', price = "+price+", genre = '"+genre+"', year = '"+year+"', home = '"+home+"' WHERE titre = '"+title+"'";
statement.executeUpdate(query);
album = new Album(title, price, genre, year, home);
getData().set(num, album);
fireTableRowsUpdated(0, data.size());
} catch (SQLException e) {
e.printStackTrace();
}