#1 7. Mai 2008 SQL Feld in Textfield speichern tag! Ich habe eine Anwendung mit Datenbankzugriff erstellt. Nun möchte ich nach einem Feld in einer Tabelle in der Datenbank suchen und dann die Restlichen Felder der Reihe in einzelnde Textfelder speichern. Das habe ich bisher geschrieben, aber er findet die Felder bzw. die Reihe nicht. Code: public void ErmSingleLadenButtonActionPerformed(ActionEvent evt) { ResultSet rs; //Die Attribute für die Datenbankverbindung werden gesetzt DB.setmeineVerbindung("jdbc:mysql://localhost/cdverwaltung"); DB.setBenutzername("root"); DB.setPasswort(""); DB.setmeineTreiber("org.gjt.mm.mysql.Driver"); try { int i=0; boolean gefunden = false; if ( DB.openConnection() ) { rs = DB.leseDaten("SELECT * FROM leihtsingle"); while(rs.next() && gefunden == true){ rs = DB.leseDaten("SELECT * FROM leihtsingle Where vorgangsnr = \""+i+"\""); if(ErmVorgangsnrTextfield.getText() == Integer.toString(rs.getInt("vorgangsnr"))){ gefunden = true; } else{ i++; } } //Die Verbindung mit der Datenbank wird geschlossen DB.close(); if (gefunden == true){ FehlermeldungTextfield.setText("Die Daten wurden aus der Datenbank gelesen!"); } else{ FehlermeldungTextfield.setText("Die Daten konnten nicht gelesen werden!"); } } } catch(Exception e){ FehlermeldungTextfield.setText(""+e); } } Danke im Vorraus ne0.ka1n + Multi-Zitat Zitieren
#2 7. Mai 2008 AW: SQL Feld in Textfield speichern da liegt der fehler. du setzt gefunden oben auf false und er kommt nie in die while schleife. die bedingung lautet es muss einen neuen datensatz geben und gefunden muss true sei. in deiner while schleife überschreibst du auch dein resultset. ich glaube das möchtest du auch nicht. deine if abfrage ist auch nicht wirklich sinnvoll du sucht einem datensatz mit der vorgangsnummer "i", danach prüfst du ob die vorgangsnummer aus dem resultset mit dem eintrag in einem textfeld übereinstimmt. ich steige bei dir überhaubt nicht durch wieso machst du nicht einfach: Code: rs = DB.leseDaten("SELECT * FROM leihtsingle where vorgangsnr = "+ErmVorgangsnrTextfield.getText()+";"); da brauchst du kein while und nix. außerdem fügst du in deinem befehl momentan i ein und umgiebst es mit anführungszeichen. dein sql server interpretiert das als string und kan es gar nicht mit einem int feld vergleichen da ist ja alles murks ! + Multi-Zitat Zitieren