JAVA MVC表选择的行ID和mysql db id不同

时间:2017-08-17 20:36:01

标签: java mysql model-view-controller

我创建了一个jdialog,当我点击OK按钮时,它会链接到数据库。但在我的数据库和选定的行ID是不同的。每个选定的行都会给我" 0"。我该怎么办?

控制

public void genelBakimSatirSil(int id)抛出ClassNotFoundException,SQLException,InstantiationException,IllegalAccessException {

           if(con == null || con.isClosed())
               con.setAutoCommit(false);

            //String sql = "DELETE FROM genelbakim WHERE id =? AND fisno = ?";
            String sql = "DELETE FROM genelbakim WHERE id =?";
            PreparedStatement pstmnt = con.prepareStatement(sql);
            pstmnt.setInt(1, id);
            //pstmnt.setInt(2, fisno);
            //System.out.println(id + "  " +  fisno);
            System.out.println(pstmnt);
            int sonuc = pstmnt.executeUpdate();

            if (sonuc == 1){
               con.commit();               
            }

       }

的JDialog

public class GenelBakimSatirSil extends JDialog {

private final JPanel panel = new JPanel();
private final JButton tamamButton = new JButton();
private final JButton iptalButton = new JButton();
private final JLabel label = new JLabel();
private final JLabel uyariLabel = new JLabel();
GenelBakimDatabaseIslem db;
GenelBakimFrame genelFrame;
int seciliSatir;

public GenelBakimFrame getGenelFrame() {
    return genelFrame;
}
public void setGenelFrame(GenelBakimFrame genelFrame) {
    this.genelFrame = genelFrame;
}
public int getSeciliSatir() {
    return seciliSatir;
}
public void setSeciliSatir(int seciliSatir) {
    this.seciliSatir = seciliSatir;
}

public GenelBakimSatirSil(ProgramCikisUyariIslem islem, String yazi) {
    super();
    uyariLabel.setText(yazi);
    setBounds(100, 100, 436, 212);
    try {
        jbInit();
    } catch (Throwable e) {
        e.printStackTrace();
    }
    //
}
private void jbInit() throws Exception {
    setTitle("Uyarı !");
    setModal(true);
    getContentPane().add(panel, BorderLayout.SOUTH);

    panel.add(tamamButton);
    tamamButton.setContentAreaFilled(false);
    tamamButton.addActionListener(new TamamButtonActionListener());
    tamamButton.setText("Tamam");

    panel.add(iptalButton);
    iptalButton.setContentAreaFilled(false);
    iptalButton.addActionListener(new IptalButtonActionListener());
    iptalButton.setText("İptal");
    iptalButton.requestFocus();
    iptalButton.setFocusable(true);

    getContentPane().add(label, BorderLayout.WEST);
    label.setIcon(SwingResourceManager.getIcon(UyariDialog.class, "/view/butonlar/uyari.png"));
    label.setHorizontalAlignment(SwingConstants.CENTER);
    label.setPreferredSize(new Dimension(70, 0));

    getContentPane().add(uyariLabel, BorderLayout.CENTER);
}
private class TamamButtonActionListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        tamamButton_actionPerformed(e);
    }
}
private class IptalButtonActionListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        iptalButton_actionPerformed(e);
    }
}
protected void tamamButton_actionPerformed(ActionEvent e) {
    islem();
    this.dispose();
}
protected void iptalButton_actionPerformed(ActionEvent e) {
    this.dispose();
}
public void islem() {
    // TODO Auto-generated method stub

    try {
        genelFrame.satirSil(seciliSatir);
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InstantiationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }   
}

}

查看

protected void panel_7SatirSilButton_actionPerformed(ActionEvent e) throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException {
    //satır sil button
    Connection con =  ConnectionManager.getConnection();
    ProgramCikisUyariIslem islem = new ProgramCikisUyariIslem();
    islem.setCon(con);

    if(genelTable.getSelectedRow() != -1){
        //satirSil(genelTable.getSelectedRow()); 

        GenelBakimSatirSil satirSilUyari = new GenelBakimSatirSil(islem, "silek mi ?");
        satirSilUyari.setGenelFrame(this);
        satirSilUyari.setSeciliSatir(genelTable.getSelectedRow());

        int x = satirSilUyari.getBounds().width;
        int y = satirSilUyari.getBounds().height;
        satirSilUyari.setBounds(x + 200 , y + 50, 400, 150);
        satirSilUyari.setVisible(true);

        //db.genelBakimSatirSil(satirSil.getId());
        //satirSil(genelTable.getSelectedRow());

        //genelListeTableModel.veri.removeElementAt(genelTable.getSelectedRow());
        genelListeTableModel.fireTableDataChanged();
    }
}

//SATIR SİL

public void satirSil(int seciliSatir) throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException{

    GenelBakimListeTableSatirModel satirSil = (GenelBakimListeTableSatirModel) genelListeTableModel.veri.elementAt(seciliSatir); 
    db.genelBakimSatirSil(satirSil.getId()/*, satirSil.getFisNo()*/);
    System.out.println("ID : " + satirSil.getId());
    genelListeTableModel.veri.removeElementAt(seciliSatir);
    genelListeTableModel.fireTableDataChanged();
}

0 个答案:

没有答案