Einzelnen Beitrag anzeigen
Alt 09.03.2010, 00:26   #1 (permalink)
eys
Neuer Benutzer
Byte
 
Registriert seit: 03.03.2010
Beiträge: 21
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard Update DB; Werte aus Feldern übernehmen

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: Quelltext in neuem Fenster öffnen
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: Quelltext in neuem Fenster öffnen
1
2
3
4
// Eine Adresse ändern
    public int updatePersonen(Personen p) throws DataException {
        return PersonenBroker.getInstance().updatePersonen(p);
    }

Button und ActionListener
Java Code: Quelltext in neuem Fenster öffnen
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...
Miniaturansicht angehängter Grafiken
Update DB; Werte aus Feldern übernehmen-update.jpg  
eys ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten