Hi,
ich arbeite gerade an meiner ersten Methode mit Parameterübergabe. Es funktioniert soweit, jedoch wird in der Datenbankn nicht die selektierte Zeile in der GUI sondern die Zeile danach gelöscht (z.B. ich lösche Zeile 400 -> gelöscht wird aber Zeile 401)
Die Löschmethode in der Klasse MySQL:
Der ActionListener in der Klasse LoeGUI:
es geht speziell um diesen Aufruf:
ich arbeite gerade an meiner ersten Methode mit Parameterübergabe. Es funktioniert soweit, jedoch wird in der Datenbankn nicht die selektierte Zeile in der GUI sondern die Zeile danach gelöscht (z.B. ich lösche Zeile 400 -> gelöscht wird aber Zeile 401)
Die Löschmethode in der Klasse MySQL:
Java:
public void loeschen(Object selected) {
try {
PreparedStatement pst = con.prepareStatement("DELETE FROM fragen WHERE fragen_id = ?");
pst.setObject(1, selected);
pst.executeUpdate();
} catch (SQLException e) {
System.out.println(e);
}
}
Java:
btnLoeschen.addActionListener(new LoeschenBtnAction() {
@Override
public void actionPerformed(ActionEvent e) {
int answer = JOptionPane.showConfirmDialog(LoeGUI.this, "Wollen Sie den Datensatz wirklich löschen?", "Bestätigen", JOptionPane.YES_NO_OPTION);
if (answer == JOptionPane.YES_OPTION) {
DefaultTableModel tblm = (DefaultTableModel)tblLoeschen.getModel();
int row = tblLoeschen.getSelectedRow();
Object selected = tblm.getValueAt(row, 0);
int modelRow = tblLoeschen.convertRowIndexToModel(row);
tblm.removeRow(modelRow);
mysql.loeschen(tblm.getValueAt(row,0));
lblLoeschen.setVisible(true);
tblm = new DefaultTableModel(mysql.holeFragen(), new String [] {"fragen_id", "kurs", "ort", "dozent", "datum"});
tblLoeschen.setRowSelectionInterval(0, 0);
Java:
mysql.loeschen(tblm.getValueAt(row,0));