ResultSet auf Einträge überprüfen

Hallo, ich hole mir aus der Datenbank (Tabel Company / id,name) Daten raus und möchte es auf Einträge überprüfen. Leider muss ich mit dieser Überprüfung (siehe Code) ein zweites mal die Daten holen da (meine Vermutung) das erste "rs.next" eine Row überspringt. Wie bekomme ich eine richtige "if -überprüfung" hin?

Java:
public static void showCompanyList() throws SQLException {

        ResultSet rs = null;
        String sql = "SELECT * FROM company";

        try {
           rs = st.executeQuery(sql);
        }catch(SQLException e){
            System.out.println(e);
        }
        
        // Überprüfe ob es einen Eintrag gibt
        if(!rs.next()) {
            System.out.println("The company list is empty");
            System.out.println();
        }else {
            int counter = 1;
            
            try {
                rs = st.executeQuery(sql);
            }catch(SQLException e){
                System.out.println(e);
            }

            while (rs.next()) {
                System.out.println(counter + ". " + rs.getString("name"));
                counter++;
            }
            System.out.println();
        }
    }
 

httpdigest

Top Contributor
Mach's doch so:
Java:
ResultSet rs = st.executeQuery(sql);
if (!rs.next()) {
  System.out.println("The company list is empty");
} else {
  int counter = 1;
  do {
    System.out.println(counter + ". " + rs.getString("name"));
  } while (rs.next());
}
 

KonradN

Super-Moderator
Mitarbeiter
Also ich würde von dem Standard Aufbau nicht abweichen - das führt in der Regel zu überkompliziertem Code.

Du machst die Abfrage und dann hast Du ein while (rs.next()). Das ist das, was man ja prinzipiell auch erwartet.

Dein Code kann dann so aussehen:
Java:
    public static void showCompanyList() throws SQLException {

        String sql = "SELECT * FROM company";

        try (ResultSet rs = st.executeQuery(sql)) {
            int counter = 0;

            while (rs.next()) {
                counter++;
                System.out.println(counter + ". " + rs.getString("name"));
            }

            if (counter == 0) {
                System.out.println("The company list is empty");
            }

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

Da ResultSet AutoClosable erbt, sollte man da prinzipiell sowas auch schließen - daher das try with resources.
 

Neumi5694

Top Contributor
Also ich würde von dem Standard Aufbau nicht abweichen - das führt in der Regel zu überkompliziertem Code.

Du machst die Abfrage und dann hast Du ein while (rs.next()). Das ist das, was man ja prinzipiell auch erwartet.
[...]
@needHelpInJava(); Das wäre auch meine Standardlösung, allerdings würde ich gleich in eine Liste einlesen und am Ende die Länge der Liste prüfen, ohne Countervariable. Die Ausgabe auf den Bildschirm folgt dann später, nachdem der DB Zugriff beendet wurde.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I ResultSet aus meiner SQL-Abfrage in einem JTextfield ausgeben. Java Basics - Anfänger-Themen 1
C ResultSet in Array speichern Java Basics - Anfänger-Themen 5
S NullPointerException während ResultSet Java Basics - Anfänger-Themen 7
J MySQL Datumsabfrage über ResultSet in Java-Servlet Java Basics - Anfänger-Themen 4
A Werte innerhalb von resultset vergleichen Java Basics - Anfänger-Themen 2
H Variablen Zeile aus einem ResultSet ausleesen Java Basics - Anfänger-Themen 7
P Brauche Hilfe bei ResultSet mit MySQL Java Basics - Anfänger-Themen 6
A ResultSet: vorheriges Element auslesen Java Basics - Anfänger-Themen 10
1 ResultSet in Schleife "befüllen" Java Basics - Anfänger-Themen 4
K ResultSet.last() und die GUI friert ein Java Basics - Anfänger-Themen 2
K Methoden ResultSet als Methodenübergabewert kommt leer an Java Basics - Anfänger-Themen 0
S JTabel korrekt mit Datensätzen aus ResultSet füllen Java Basics - Anfänger-Themen 4
S Icons in JTable per ResultSet Java Basics - Anfänger-Themen 5
S ResultSet close() in funktion nich möglich. Java Basics - Anfänger-Themen 8
G ResultSet übergeben bzw. in andere Variable übernehmen Java Basics - Anfänger-Themen 6
J ResultSet.getStrin - doch kein String? oder wo liegt das Problem? Java Basics - Anfänger-Themen 3
A Erste Schritte Weiterverarbeitung Resultset Java Basics - Anfänger-Themen 12
R JDBC leeres ResultSet Problem Java Basics - Anfänger-Themen 2
S ResultSet in CSV speichern Java Basics - Anfänger-Themen 3
C Resultset.updateBinaryStream Java Basics - Anfänger-Themen 2
S mysql-connector-java-*.jar, MySql ResultSet - Alle ROWs ausgeben? Java Basics - Anfänger-Themen 3
M Frage zu ResultSet.next() Java Basics - Anfänger-Themen 7
S Resultset Closed (Mysql) Java Basics - Anfänger-Themen 5
C OOP JDBC: Ausgabe ResultSet nach Select Java Basics - Anfänger-Themen 3
G ResultSet SQLException Java Basics - Anfänger-Themen 11
K Problem mit ResultSet Java Basics - Anfänger-Themen 9
A Probleme mit dem ResultSet Java Basics - Anfänger-Themen 6
S bestimmtes Auslesen von Spalten eines ResultSet ? Java Basics - Anfänger-Themen 7
T ResultSet Exception Java Basics - Anfänger-Themen 2
M ResultSet Problem Java Basics - Anfänger-Themen 5
S aus Resultset JTabbedPane erzeugen Java Basics - Anfänger-Themen 5
G Frage zu ResultSet Java Basics - Anfänger-Themen 4
A "SQL : No resultSet was produced" ? Java Basics - Anfänger-Themen 7
G ResultSet & JTable Java Basics - Anfänger-Themen 4
K problem mit resultset und 2d-array Java Basics - Anfänger-Themen 3
G ResultSet übergeben Java Basics - Anfänger-Themen 2
K ResultSet öffnet sich garnicht erst Java Basics - Anfänger-Themen 9
M ResultSet Java Basics - Anfänger-Themen 4
M ResultSet als Objekt zurückgeben, wenn conn geschlossen? Java Basics - Anfänger-Themen 8
K ResultSet: Wie viele Rows beinhaltet es? Java Basics - Anfänger-Themen 6
A ResultSet Zeile als Objekt? Java Basics - Anfänger-Themen 10
G ResultSet getRow Java Basics - Anfänger-Themen 4
T Ganz schlimme Frage.:) ResultSet Java Basics - Anfänger-Themen 12
G ResultSet zurückgeben Java Basics - Anfänger-Themen 11
B Probleme bei ResultSet in einer While-Schleife Java Basics - Anfänger-Themen 2
M ResultSet klonen Java Basics - Anfänger-Themen 6
M ResultSet abfragen Java Basics - Anfänger-Themen 8
R In ResultSet Anzahl der Zeilen herausfinden? Java Basics - Anfänger-Themen 3
R While-Loop der die Einträge eines Arrays in umgekehrter Reihenfolge anzeigt Java Basics - Anfänger-Themen 3
C Erste Schritte JComboBox Einträge auf Duplikat prüfen Java Basics - Anfänger-Themen 4
A Einträge aus Tupeln nach Regeln in Liste speichern Java Basics - Anfänger-Themen 8
S CSV auf doppelte Einträge überprüfen Java Basics - Anfänger-Themen 8
K Datentypen Einträge zweier Matrizen vergleichen Java Basics - Anfänger-Themen 4
I Einträge in den Konstruktor Java Basics - Anfänger-Themen 3
S Problem: Array alle Einträge gleich Java Basics - Anfänger-Themen 10
M Erste Schritte JList einträge Java Basics - Anfänger-Themen 1
P Erste Schritte Einträge aus verschachtelter Map chronoligisch ausgeben Java Basics - Anfänger-Themen 5
C JList Einträge nach Datum sortieren Java Basics - Anfänger-Themen 3
T Einträge in jComboBox aus Liste übernehmen Java Basics - Anfänger-Themen 1
S Wie bestehende Excel-Einträge mit neuen Vergleichen (mit Apache POI)? Java Basics - Anfänger-Themen 0
E Array doppelte Einträge Java Basics - Anfänger-Themen 2
S Variablen Array in ArrayList auf doppelte Einträge überprüfen Java Basics - Anfänger-Themen 4
T Alte Einträge im Array werden von neuen überschrieben Java Basics - Anfänger-Themen 5
P Doppelte Einträge in eine List Java Basics - Anfänger-Themen 5
D Javaliste auf gleiche Einträge überprüfen Java Basics - Anfänger-Themen 2
C Doppelte Einträge aus String [] Array entfernen. Java Basics - Anfänger-Themen 5
C Datentypen Array-Einträge überhalb der Array-Länge - welcher Wert? Java Basics - Anfänger-Themen 5
L Erste Schritte Einträge in ArrayList prüfen Java Basics - Anfänger-Themen 4
M Ziffer einträge vergrößern Java Basics - Anfänger-Themen 16
H Einträge aus Array löschen Java Basics - Anfänger-Themen 8
J Markierte Einträge (Dateien) in JList sollen in einen anderen Ordner verschoben werden. Java Basics - Anfänger-Themen 12
K ArrayList.add() überschreibt vorhandene Einträge. Java Basics - Anfänger-Themen 12
M Gewisse Einträge aus einer ArrayList löschen Java Basics - Anfänger-Themen 3
M doppelte Einträge Emailempfänger... Java Basics - Anfänger-Themen 35
K ArrayList Zugreifen auf Einträge Java Basics - Anfänger-Themen 8
G txt-File als DB>doppelte Einträge verhindern/Suche/... Java Basics - Anfänger-Themen 10
B 2D-Array, gleiche Einträge prüfen Java Basics - Anfänger-Themen 5
F Hiberate-Log-Einträge Java Basics - Anfänger-Themen 2
J Datentypen List - gleiche Einträge bei neuen Objekten Java Basics - Anfänger-Themen 31
Beckenbauer OOP Durch Komma getrennte Einträge in einem String in ein Array oder eine Tabelle schreiben Java Basics - Anfänger-Themen 4
kitz Mehrere Einträge auswerfen? Java Basics - Anfänger-Themen 20
P Doppelte Einträge in mehreren Textfiles finden und ausgeben Java Basics - Anfänger-Themen 8
E Darstellung der Choice Einträge Java Basics - Anfänger-Themen 4
K Datentypen Liste: Einzelne Einträge ändern Java Basics - Anfänger-Themen 2
L Tray-Einträge und dazu passende ActionListener dynamisch erzeugen? Java Basics - Anfänger-Themen 2
J doppelte Einträge in einem Array Java Basics - Anfänger-Themen 7
M Einträge in Dateien zählen - Performance-Problem Java Basics - Anfänger-Themen 10
M Einträge in JComboBox farblich hinterlegen? Java Basics - Anfänger-Themen 2
-horn- Doppelte Einträge entfernen, aus Array, List oder sonstwas Java Basics - Anfänger-Themen 9
G _NUR_ doppelte Einträge in einem Array behalten Java Basics - Anfänger-Themen 3
B Einträge im JList einfügen Java Basics - Anfänger-Themen 9
G doppelte Einträge im String Array löschen Java Basics - Anfänger-Themen 21
V Vector/Arraylist hat nur gleiche Einträge Java Basics - Anfänger-Themen 3
0 ArrayList - doppelte Einträge entfernen? Java Basics - Anfänger-Themen 9
S Methode, um doppelte Einträge in Array zu finden Java Basics - Anfänger-Themen 5
G Wie doppelte Einträge in ComboBox vermeiden ? Java Basics - Anfänger-Themen 9
M Doppelte Einträge in einer datei löschen(nach timestamp)! Java Basics - Anfänger-Themen 4
D Doppelte Einträge einer Liste löschen Java Basics - Anfänger-Themen 6
ARadauer Alle Einträge im Startverzeichnis Java Basics - Anfänger-Themen 5
B 2 ELists vergleichen und doppelte Einträge löschen Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben