我创建了一个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();
}