Brauche Hilfe bei ResultSet mit MySQL

powerLAN

Mitglied
Hi,
Ich arbeite gerade an einer Oberfläche, die es einem ermöglicht, die Daten aus der MySQL Tabelle einzusehen.
Das habe ich mithilfe von jText-Feldern realisiert und mit 2 Knöpfen (Vor: Lässt einen die Liste von oben nach unten gehen und Back: Lässt einen die Liste wieder nach oben gehen).
Nun stehe ich vor dem Problem, dass wenn die Tabelle zu ende ist er mit eigentlich ein Fehler ausgeben würde aber ich in dem catch ein JOptionPane.showMessageDialog gesetzt habe der mir die Nachricht gibt 'Liste zu ende'.
Ich möchte jetzt aber, dass wenn die Liste zu ende ist, er wieder vom ende zum Anfang springt bzw vom ende zum Anfang.
Hier mal die entsprechende stelle des Codes:

Java:
//Kundeninformationsliste runter
    public void next()
    {      
        try
        {
            res.next();

                dbi.setKundenid(res.getInt("kundenid"));
                dbi.setNachname(res.getString("nachname"));
                dbi.setVorname(res.getString("vorname"));
                dbi.setStrasse(res.getString("strasse"));
                dbi.setPlz(res.getString("plz"));
                dbi.setOrt(res.getString("ort"));
                dbi.setTelefon(res.getString("telefon"));

                jTextFieldshowID.setText(String.valueOf(dbi.getKundenid()));
                jTextFieldnachname.setText(dbi.getNachname());
                jTextFieldvorname.setText(dbi.getVorname());
                jTextFieldstrasse.setText(dbi.getStrasse());
                jTextFieldplz.setText(dbi.getPlz());
                jTextFieldort.setText(dbi.getOrt());
                jTextFieldtelefon.setText(dbi.getTelefon());
        }
        catch (Exception e)
        {
               JOptionPane.showMessageDialog(null,"Liste zu ende");
        }
    }
     
    //Kundeninformationsliste hoch
    public void back()
    {
     
     
        try
        {
         
            res.previous();

                dbi.setKundenid(res.getInt("kundenid"));
                dbi.setNachname(res.getString("nachname"));
                dbi.setVorname(res.getString("vorname"));
                dbi.setStrasse(res.getString("strasse"));
                dbi.setPlz(res.getString("plz"));
                dbi.setOrt(res.getString("ort"));
                dbi.setTelefon(res.getString("telefon"));

                jTextFieldshowID.setText(String.valueOf(dbi.getKundenid()));
                jTextFieldnachname.setText(dbi.getNachname());
                jTextFieldvorname.setText(dbi.getVorname());
                jTextFieldstrasse.setText(dbi.getStrasse());
                jTextFieldplz.setText(dbi.getPlz());
                jTextFieldort.setText(dbi.getOrt());
                jTextFieldtelefon.setText(dbi.getTelefon());
        }
        catch (Exception e)
        {
               JOptionPane.showMessageDialog(null,"Liste zu ende");
        }
    }

MfG
powerLAN
 

Joose

Top Contributor
Lies die Daten aus der Tabelle aus (und packe sie in Objekte, eine Klasse "Kunde" würde sich anbieten) und erstelle daraus eine ArrayList.
Dieser ArrayList kannst du dann ohne Problem durchgehen und am Ende auch wieder zum Anfang springen

Aktuell verwendest du das ResultSet fürs nächste/vorherige, da sollte man aber so vermeiden.

Anmerkung: Bitte Code in Code-tags packen
[java] ... dein code ... [/java]
 

powerLAN

Mitglied
Hast Du Dir die Klasse ResultSet denn einmal genauer angesehen? Das wäre doch sonst eine super Sache, wenn Du mit ResultSet etwas machen möchtest, oder?
https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html

Ich sehe da viele tolle Dinge drin wie isLast / isFirst (Dann rennt man nicht in Exceptions rein) und last / first....
Das ist mir schon klar, dass es diese Funktionen gibt, mein Problem ist, das ich nicht, wie ich die in der Methode anwenden soll, dass es funktioniert.
Meine bisherigen Versuche mit for oder while schleifen waren vergebens.
 
K

kneitzel

Gast
Also hier sehe ich zwei Möglichkeiten:
a) So wie Joose vorgeschlagen hat erstellst Du das, was ein Data Layer ist. Du erstellt eine Klasse, die einen Eintrag aufnehmen kann. Dann gibt es eine Klasse (oft als DataAdapter bezeichnet), die die Kommunikation aus der Datenbank lesen kann und die entsprechenden Instanzen der anderen Klasse bereitstellt. Dann hast Du hinterher einen sauberen Code der recht universal ist - Du zeigst die Daten an, egal ob diese aus einer Datenbank, einer Datei oder sonst irgendwoher kommen. Hat so einige Vorteile und ist das, was in der Praxis durchaus üblich ist.

b) Du nutzt wirklich ResultSet. Das setzt aber voraus, dass Du Dich intensiv mit dieser Klasse beschäftigst. Einen Link habe ich dir ja gegeben und da wird auch erläutert, was man machen muss, damit man nicht nur von oben nach untern durch das ResultSet gehen kann was halt die default Einstellung ist. (Und ResultSet bietet wirklich viel - und es passiert ggf. deutlich mehr im Hintergrund, was du evtl. nicht willst! Daher kommt halt auch die Empfehlung von Joose, dass dies eher selten vorkommt und davon eher abgeraten wird.)

Bezüglich ResultSet:
- Also zum einen muss das korrekt erstellt werden, damit man da beliebig durchgehen kann.
- Die Funktion next() und previous() geben etwas zurück - das sollte man evtl. auswerten.

Ansonsten ist die Logik doch eigentlich immer ganz trivial:
- An der Stelle, an der Du zum nächsten Element willst, prüfst Du, ob es einen nächsten Eintrag gibt (Was das Gleiche ist wie die Prüfung: Ist es das letzte Element?). Wenn ja, dann kommt der nächste dran. Ansonsten springst Du zum Ersten.
- Analog mit dem vorherigen - Du prüfst ob es noch vorherige Elemente gibt (was das Gleiche ist wie die Prüfung, ob Du am ersten Element bist). Wenn ja, dann kommt das vorherige Element ran, ansonsten springst Du zum Letzten.
 

Joose

Top Contributor
Wie schon gesagt das ResultSet ist nicht gerade dafür geeignet per UI eine Liste durchzugehen.
Lies die Daten aus, verpacke sie in Objekte, lege diese Objekte in einer Liste ab und gehe diese Liste durch.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
H Brauche Hilfe Java Basics - Anfänger-Themen 2
H Brauche hilfe Java Basics - Anfänger-Themen 3
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
D Brauche Dringend Hilfe...Prozedur/Funktionsprozedur Ergebnis augeben Java Basics - Anfänger-Themen 11
I Brauche Hilfe bei Objektorientiertem programmieren Java Basics - Anfänger-Themen 23
M Brauche Hilfe bei If-Scheifen Java Basics - Anfänger-Themen 2
F ich brauche Hilfe bei Listen Java Basics - Anfänger-Themen 13
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
E Ich Brauche Hilfe Java Basics - Anfänger-Themen 3
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
J Brauche Hilfe bei einer aufgabe Java Basics - Anfänger-Themen 1
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
B BITTE!! Ich brauche dringende Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 17
TpKey10 Ich brauche Hilfe Java Basics - Anfänger-Themen 14
F Ich brauche Hilfe bei Objektorientierter Programmierung... Java Basics - Anfänger-Themen 19
L Input/Output Wurzelzeichen in der Konsole ausgeben | Brauche Hilfe Java Basics - Anfänger-Themen 6
J Brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 3
T Brauche Hilfe um ein Programm zu verstehe Java Basics - Anfänger-Themen 4
C Ich brauche hilfe für meine Klausur Java Basics - Anfänger-Themen 13
J Brauche Hilfe !! Java Basics - Anfänger-Themen 8
R Spielfeldbegrenzung einfügen (Java)? Brauche Hilfe! Java Basics - Anfänger-Themen 15
C Brauche dringend Hilfe. Umfrage mit ja und nein in Java erstellen? Java Basics - Anfänger-Themen 12
U Brauche Hilfe bei Programmierung einer Produktdatenbank App Java Basics - Anfänger-Themen 4
T Datentypen Brauche Hilfe bei Arrays Java Basics - Anfänger-Themen 3
U Brauche Hilfe bei Bisektionsverfahren Java Basics - Anfänger-Themen 23
E Erste Schritte brauche hilfe zum verstehen einer Klasse(Tiefensuche) Java Basics - Anfänger-Themen 17
I Brauche Hilfe bei Schleifen Java Basics - Anfänger-Themen 18
B Java Graphen zeichnen - Brauche Hilfe Java Basics - Anfänger-Themen 9
S brauche hilfe bei Fehlersuche Java Basics - Anfänger-Themen 7
M JDK installieren Brauche dringend Hilfe Java Basics - Anfänger-Themen 2
L Brauche Hilfe bei Preisberechnungspogramm Java Basics - Anfänger-Themen 1
D Hilbert und Peano Kurve, ich brauche Hilfe Java Basics - Anfänger-Themen 4
S Brauche hilfe bei Pong (JFrame) Java Basics - Anfänger-Themen 2
V Hilfe-brauche eine Idee! Java Basics - Anfänger-Themen 5
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
A Erste Schritte Brauche Hilfe Java Basics - Anfänger-Themen 2
D Brauche Hilfe für mein übungsprogramm Java Basics - Anfänger-Themen 16
S Klassen Brauche Hilfe bei Erstellung einer Klasse für einen Tachenrechner!!! Java Basics - Anfänger-Themen 6
W Brauche hilfe bei Hausübung Java Basics - Anfänger-Themen 10
D Brauche Hilfe bei Modulo (Übungsaufgabe) Java Basics - Anfänger-Themen 14
X Brauche Hilfe bei printOnScreen Methode !!! Java Basics - Anfänger-Themen 2
H mysql brauche hilfe, wer kann eine (längere) aufgabe für mich erledigen Java Basics - Anfänger-Themen 2
K Erste Schritte Brauche Hilfe bei Starten des Programms Java Basics - Anfänger-Themen 11
B Erste Schritte HILFE Brauche ein Beispiel für korrekte Syntax mit Semantikfehlern Java Basics - Anfänger-Themen 6
H Java von Kopf bis Fuß: Brauche Hilfe Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe bei einem Java-Taschenrechner Java Basics - Anfänger-Themen 11
S brauche hilfe beim fehler finden Java Basics - Anfänger-Themen 2
S Erste Schritte BlueJ-Aufgabe: Programmcode / Brauche dringend Hilfe !!! Java Basics - Anfänger-Themen 37
A Brauche Hilfe bei Division von Feldzahl durch Ganzzahl Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 2
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
G Brauche bitte Hilfe, bei umgekehrter Ausgabe!! Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe für ein UML Diagramm Java Basics - Anfänger-Themen 7
S ICh brauche Hilfe,weil Java in der Schule Java Basics - Anfänger-Themen 11
B Brauche Hilfe mit Aufgaben mit dem JavaEditor Java Basics - Anfänger-Themen 8
I Primzahlenberechnung [Brauche Hilfe] Java Basics - Anfänger-Themen 5
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
F Reader - brauche Hilfe Java Basics - Anfänger-Themen 19
T Brauche Hilfe bei Variabeln Java Basics - Anfänger-Themen 4
J Brauche Hilfe mit replaceFirst Java Basics - Anfänger-Themen 10
M Brauche Hilfe bei Struktogramm Java Basics - Anfänger-Themen 9
T Datentypen brauche dringende hilfe!dezi in Asci umwandeln! Java Basics - Anfänger-Themen 4
X DB4O Collections and Arrays, brauche dringend Hilfe! Java Basics - Anfänger-Themen 3
B brauche hilfe bei funktion erstellen Java Basics - Anfänger-Themen 8
S Brauche Hilfe bei if/else Java Basics - Anfänger-Themen 3
N Brauche Hilfe mit Kollisionserkennung! Java Basics - Anfänger-Themen 16
J Brauche Hilfe bei Methode Java Basics - Anfänger-Themen 9
Y Brauche Hilfe beim Programm Java Basics - Anfänger-Themen 83
G 2 dim. Strsing Arrays brauche Hilfe Java Basics - Anfänger-Themen 20
A Brauche hilfe String untertrennen Java Basics - Anfänger-Themen 12
L Brauche bitte dringend Hilfe für Klausur Java Basics - Anfänger-Themen 8
H Brauche bei einen bsp hilfe! Java Basics - Anfänger-Themen 2
D Währungsrechner brauche Hilfe Java Basics - Anfänger-Themen 10
R Vokabeltrainer / Brauche Hilfe Java Basics - Anfänger-Themen 8
L Brauche Hilfe! Java Basics - Anfänger-Themen 8
S WAV-DATEIEN INTERPRETIEREN UND UMWANDELN Brauche Hilfe Java Basics - Anfänger-Themen 3
A Brauche Hilfe mit einer Forschleife Java Basics - Anfänger-Themen 20
N brauche Hilfe Stringverarbeitung Java Basics - Anfänger-Themen 9
JeromeM90 (Brauche Hilfe) Binär- in Dezimalzahlkonverter Java Basics - Anfänger-Themen 8
M Brauche Hilfe bei Javaapplication für JuFo Java Basics - Anfänger-Themen 21
M Brauche Hilfe beim Verstehen vom Quellcode Java Basics - Anfänger-Themen 4
A brauche hilfe ( gpanel und n-ecke) Java Basics - Anfänger-Themen 11
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 3
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 9
S Brauche Hilfe mit waitFor() Java Basics - Anfänger-Themen 4
N Brauche dringende Hilfe Java Aplett läuft nicht! Java Basics - Anfänger-Themen 3
D Brauche Hilfe: Funktion zum Kombinieren von Werten Java Basics - Anfänger-Themen 5
T Brauche Hilfe: Access DB + Hashmap Java Basics - Anfänger-Themen 2
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
E brauche hilfe beim KeyListener Java Basics - Anfänger-Themen 4
N brauche hilfe zu tictactoe Java Basics - Anfänger-Themen 2
G Ich brauche eure Hilfe! Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben