Hi Leutz,
ich würde gern einen Datensatz in meiner
DB-Tabelle ändern, hab aber noch Probleme dabei.
vielleicht werdet ihr schlau draus, bin mir jetzt auch nicht sicher ob das hier ehe in die
swing abteilung gehört..
Statement:
Java Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| // Eine Adresse ändern
public int updatePersonen(Personen p) throws DataException {
try {
String sql = "update personen set " +
"personenNachname = '" + p.getPersonenLastname() +"',"+
"personenVorname = '" + p.getPersonenFirstname() +"',"+
"personenUserlogin = '" + p.getPersonenUserlogin() +"',"+
"personenPassword = '" + p.getPersonenPassword() +"',"+
"where personenID = '" + p.getPersonenID() +"' ";
int count = update(sql);
return count;
}
catch (Exception e) {
throw new DataException(e.getMessage());
}
} |
Managerklasse:
Java Code:
1
2
3
4
| // Eine Adresse ändern
public int updatePersonen(Personen p) throws DataException {
return PersonenBroker.getInstance().updatePersonen(p);
} |
Button und ActionListener
Java Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| updateButton = addButton("Ändern", UPDATE_ACTION);
updateButton.setEnabled(false);
ActionListener a1 = new ActionListener() {
public void actionPerformed(ActionEvent e) {
//-- geänderte Daten übernehmen
personen.setPersonenID(Integer.parseInt(personenID.getText()));
personen.setPersonenLastname("updatetest");
personen.setPersonenFirstname(personenVorname.getText());
personen.setPersonenUserlogin(personenUserlogin.getText());
personen.setPersonenPassword(personenPassword.getText());
personen.setPersonenID(Integer.parseInt(personenID.getText()));
System.out.println(personenNachname.getText());
try{
manager.updatePersonen(personen); //Update ausführen
JOptionPane.showMessageDialog(frame, "Person wurde geändert",
"Speichern", JOptionPane.INFORMATION_MESSAGE);
}
catch(DataException ex){
JOptionPane.showMessageDialog(frame, ex.getMessage(), "Fehler", JOptionPane.ERROR_MESSAGE);
}
}
};
updateButton.addActionListener(a1); |
hatte die Update Methode zuerst separat aber das hat auch nicht funktioniert

Das Programm startet zwar, die Felder werden auch mit Werten gefüllt aber die "setter" laufen irgendwie nicht. Es wird eine
AWT-Queue -Nullpointer exception angezeigt. Habe auch eine Insert-Funktion aber da gibts keine Probleme...