Meine Datenbank lässt sich mit meiner Methode nicht ändern

Mecki1

Neues Mitglied
Hallo Community,
ich muss für die Schule ein Formular in Netbeans erstellen. Dafür haben wir eine Datenbank erstellt und diese mit Netbeans verbunden. Ich grüble schon sehr lange an dieser Methode, aber weiß einfach nicht, woran es liegt, dass sich die Datenbank nicht ändert. Wie schon versucht zu erläutern, wähle ich einen Kunden in einer Listbox aus um diesen Wert zu bekommen. Dann lasse ich die Werte aus der Datenbank auslesen und versuche sie in der if-Schleife zu vergleichen. Wenn dieser Vergleich Erfolgreich war, soll er den Text, der in das Textfeld eingegeben wurde entnehmen und somit den Namen Verändern an der Stelle der KundenNr. Ich würde mich über schnelle antworten Freuen, da ich das Projekt Morgen um 23:59 Uhr abgeben muss. Hier ist der Folgende Code:

'''

String value = this.jListKundenverwaltung.getSelectedValue();
String ausgabe = "";
try {
ResultSet rs = db.lesen("Select KundenNr, Name, Vorname, Geburtsdatum, Telefonnummer, Ort, Straße, Hausnummer, Groesse, Gewicht FROM tblKunde");
while(rs.next()){
ausgabe = "Nr: "+rs.getInt(1)+", "+rs.getString(2)+", "+rs.getString(3)+", "+rs.getString(4)+", "+rs.getString(5)+", "+rs.getString(6)+", "+rs.getString(7)+", "+rs.getInt(8)+", "+rs.getInt(9)+", "+rs.getDouble(10);
if(value.contains(ausgabe))
{
String name = this.txtName.getText();
this.fitness.kundenaendern(name,rs.getInt(1));
}

}


}

catch(SQLException e){
System.out.println("Fehler");
}
'''

Um die Verbindung besser zu verstehen, folgt hier die Methode kundenaendern, obwohl ich mir sicher bin, dass es nicht an dieser Methode liegt:

'''
public void kundenaendern(String name, int w){
db.aendern("UPDATE tblKunde SET Name = '"+ name +"'" + "WHERE KundenNr = " + w );
}
'''
Vielen Dank im voraus für Eure Hilfe!!!
 
Also da lässt sich mit Sicherheit erst einmal nichts sagen, da Du uns viele Dinge vorenthältst. Was ist den der Fehler? Bekommst Du "Fehler" ausgegeben? Oder passiert einfach nur nicht das, was Du in dem if(value.contains(ausgabe)) machst?

Meine Vermutung ist erst einmal, dass die Bedingung value.contains(ausgabe) falsch ist. In ausgabe ist ja ein relativ komplexer Ausdruck mit allen Kundendaten, value ist irgend eine Auswahl - die vermutlich nur einen Kundennamen enthält oder so. Du willst wissen, ob der kurze Ausdruck von value in dem großen Ausdruck drin ist: ausgabe.contains(value) - also value und ausgabe getauscht.

Generell solltest Du aber bei einer Exception nicht nur "Fehler" ausgeben. Gib Details aus, damit Du den Fehler nachvollziehen kannst. Also etwas wie:
System.out.println("Fehler: " + e.getMessage());
e.printStackTrace();

Wenn Du das in dem catch Block einbaust, dann würdest Du statt einfach nur "Fehler" mehr Informationen bekommen. Mit diesen könnten wir Dir ggf. dann mehr helfen. Und wenn etwas nicht geht, dann bau doch einfach noch etwas mehr Ausgaben ein. Nach dem String value = .... kannst Du einmal value ausgeben. Nach dem ausgabe = ... kannst Du Ausgabe ausgeben.... Dann bekommst Du mehr Informationen, was Dein Programm überhaupt macht (Oder besser: Du nutzt den Debugger von Netbeans. Aber wenn Du den noch nicht nutzen kannst, dann wird es ggf. schwer, das bis heute Abend zu lernen!)
 

Zurück
Oben