0

私はJTableSQLサーバーと関係があり、行を更新しようとすると、この行がコンストラクターにないため、最初のセルを除くすべてのセルが更新されます。そのため、手動で変更しようとしまし 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();
    }   
4

0 に答える 0