MySQL Anzahl gefundener Datensätze bleibt gleich, auch wenn mehr existieren und ausgegeben werden

Kandum

Mitglied
Hey Leute,

ich arbeite mich momentan in die Datenbankverwaltung mit Java ein. Ich habe es auch bereits geschafft das er mir die Datensätze sowie die Anzahl der gefunden anzeigt. Allerdings bleibt die Anzahl der gefundenen Datensätze immer gleich - auch wenn ich weitere Datensätze in die DB eintrage, welche er mir auch der in der Konsole anzeigt.

acb8d616a1cd.png


Selbstverständlich habe ich auch gegoogled und auf diversen Webseiten nach einer Lösung gesucht aber nichts gefunden was mir helfen könnte oder es gab so viele verschiedene Kategorien das ich überhaupt nicht durchgeblickt habe und es weiterhin auch nicht tue... :bahnhof:

Ich arbeite mit:
- BlueJ
- Windows 7
- MySQL

Quellcode:
Java:
import java.sql.*;
import java.util.ArrayList;
import java.util.Iterator; 

public class MySQLConnector {
    private Connection con;
    private Statement stmt;
    private ResultSet rs_Result;
    private ArrayList<String[]> result = new ArrayList<String[]>(); 
    
    private static final String str_Host = "******";
    private static final String str_DbName = "******";
    private static final String str_DbTable = "*****";
    private static final String str_User = "*****";
    private static final String str_Pass = "*****";
    
    public MySQLConnector () {
        try {
            // Versuche eine Verbindung herzustellen:
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://"+str_Host+"/"+str_DbName, str_User, str_Pass);

            stmt = con.createStatement();
            
            // Versuche eine Abfrage aller Datensätze zu erstellen, auszuführen und anzuzeigen:
            String str_Query = "SELECT * FROM " + str_DbTable + ";";
            rs_Result = stmt.executeQuery(str_Query);
            
            // Gebe die Anzahl aller gefundenen Spalten aus:
            int i_Datensaetze = rs_Result.getMetaData().getColumnCount();
            System.out.println("Gefundene Datensaetze: " + i_Datensaetze);
            
            
            // Ausgabe aller Datensätze:
            while ( rs_Result.next() ) {
                String[] str = new String[7];
                for (int k = 1; k <= i_Datensaetze; k++) {
                    str[k-1] = rs_Result.getString(k);
                } // for
                result.add(str); 
            } // while
            
            printDBData(result);
            
            stmt.close();
            con.close();
            
        } catch (ClassNotFoundException CNFE) {
            System.out.println("Fehler bei MySQL-JDBC-Bridge: " + CNFE);
            return;
            
        } catch (SQLException SQLE) {
            System.out.println("Fehler bei Tabellenabfrage: " + SQLE);
            return;
            
        } // try
        
    } // construct

    private void printDBData(ArrayList list) { 
        for (Iterator iter = list.iterator(); iter.hasNext();) { 
            String[] str = (String[]) iter.next(); 

            for (int i = 0; i < str.length; i++) { 
                System.out.print(str[i] + "\t"); 
            } 
            System.out.print(System.getProperty("line.separator")); 
        } 
    } 
    public static void main() {
        new MySQLConnector();
        
    } // + static void main()
    
} // + class MySQLConnector

Ich freue mich über jede Hilfe! Wenn jemand einen Link zu der Problemlösung hat auch über diesen!

Vg,
Kandum
 

Camill

Bekanntes Mitglied
[java=29]
// Gebe die Anzahl aller gefundenen Spalten aus:
int i_Datensaetze = rs_Result.getMetaData().getColumnCount();
System.out.println("Gefundene Datensaetze: " + i_Datensaetze);
[/code]
Dein Kommentar ist richtig - du gibst die Anzahl der Spalten und nicht die Anzahl der gefundenen Datensätze aus.
Column = Spalte
 

parabool

Bekanntes Mitglied
mit
Java:
rs_Result.getMetaData().getColumnCount()
ermittelt Du die Anzahl der Spalten der Tabelle die deine Daten enthält. Die ändert sich natürlich nicht.

Die oben ermittelte Anzahl der Spalten nutzt du dann um aus denen die Daten zu lesen und in
result zu speichern. Mit
Java:
result.size()
erhältst du die Anzahl der Datensätze.
 

Kandum

Mitglied
Oh man, wie bin ich bloß auf den Kommentar "// Gebe die Anzahl aller gefundenen Spalten aus:" gekommen?... Ich glaube durch Fernsehen verblödet man echt :autsch:

Danke jungs!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
ruutaiokwu Duplikate auf bestimmte Anzahl begrenzen Datenbankprogrammierung 8
C PostgreSQL Anzahl der Spalten ermitteln Datenbankprogrammierung 2
A Maximale Anzahl offener Cursor überschritten Datenbankprogrammierung 5
OnDemand SQL Query Anzahl der Werte Datenbankprogrammierung 8
S Anzahl Datensätze in db4o Datenbankprogrammierung 2
N Prepared Statement mit unbekannter Anzahl von Where-Clauses Datenbankprogrammierung 30
B Die Anzahl der Datensaetze einer Datenbank anzeigen Datenbankprogrammierung 2
Guybrush Threepwood H2: Anzahl an Usern begrenzen Datenbankprogrammierung 2
I MySQL - Anzahl Tabellen heraus finden Datenbankprogrammierung 6
A Maximale Anzahl offener Cursor überschritten Datenbankprogrammierung 4
I Anzahl unterschiedlicher Datensätze ausgeben Datenbankprogrammierung 2
D Anzahl der Elemente im ResultSet ermitteln Datenbankprogrammierung 8
J Maximale Anzahl von char in SQL Datenbankprogrammierung 11
E Maximale Anzahl offener Cursor Datenbankprogrammierung 9
W Anzahl der Spalten eines ResultSets bestimmen Datenbankprogrammierung 5
A Maximale Anzahl offener Cursor erreicht Datenbankprogrammierung 3
Z Zeilen-Anzahl abfragen bei Datenbank Datenbankprogrammierung 4
G Anzahl der Datensaetze abfragen Datenbankprogrammierung 11
rambozola große anzahl an inserts bei oracle db unperformant Datenbankprogrammierung 15
S Anzahl geänderte Records Datenbankprogrammierung 2
V Anzahl der Datensätze abfragen Datenbankprogrammierung 9
B PreparedStatement - anzahl ParameterValues Datenbankprogrammierung 6
M Anzahl der Tabellen herausfinden Datenbankprogrammierung 6
M begrenzte anzahl von resultsets pro connection?? Datenbankprogrammierung 6
D Anzahl der zurückgelieferten Datensätze Datenbankprogrammierung 2
M Datensätze in DataGrip (IntelliJ) Datenbankprogrammierung 1
nonickatall MySQL Auf neue Datensätze in einer Datenbank reagieren Datenbankprogrammierung 5
J Java fügt Datensätze ein aber diese werden nicht richtig abgefragt Datenbankprogrammierung 3
R MySQL Datensätze in Textdokument Datenbankprogrammierung 7
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
R Große Datensätze, kleine Rechte Datenbankprogrammierung 8
J wie mit resultset.next() über Datensätze iterieren? Datenbankprogrammierung 15
T MySQL MySQL - Insert into fügt zwei identische Datensätze ein Datenbankprogrammierung 2
B Nur 99% der Datensätze werden in Tabelle geschrieben Datenbankprogrammierung 2
E primaryKey auslesen - Datensätze abgleichen Datenbankprogrammierung 4
S Häufig vorkommende Datensätze Datenbankprogrammierung 4
P Mit Hibernate mehrere Datensätze löschen Datenbankprogrammierung 7
J Datensätze löschen Datenbankprogrammierung 6
O Löschen vieler Datensätze mit Hibernate Datenbankprogrammierung 11
C Hibernate Datensätze finden Datenbankprogrammierung 17
F [SQLite] Mehrere Datensätze einfügen Datenbankprogrammierung 12
D Können nur angesehende Datensätze geloggt werden? Datenbankprogrammierung 4
F NUR 3 datensätze auslesen Datenbankprogrammierung 6
F MySQL Nur die Datensätze zurückgeben, in denen ein anderer Preis steht Datenbankprogrammierung 9
B Aktuellen Stand der Datensätze einer Datenbank anzeigen Datenbankprogrammierung 9
J SQL-Abfrage zur löschung doppelter Datensätze Datenbankprogrammierung 7
J Ausgewählte Datensätze in DB-Tabelle schreiben Datenbankprogrammierung 13
J Datensätze aus der Datenbank holen Datenbankprogrammierung 3
S MySQl - Neue Datensätze "on the Fly" verarbeiten Datenbankprogrammierung 8
M Keine doppelten Datensätze einfügen Datenbankprogrammierung 24
N Oracle DB liefert nicht alle Datensätze Datenbankprogrammierung 3
C Doppelte Datensätze Datenbankprogrammierung 11
T Datensätze effektiv einlesen Datenbankprogrammierung 4
ARadauer viele datensätze. Datenbankprogrammierung 3
D mehrere Datensätze in ein Listenfeld Datenbankprogrammierung 2
S 50.000 updates auf 50.000 Datensätze Datenbankprogrammierung 3
A SELECT-Anweisung liefert keine Datensätze zurück Datenbankprogrammierung 9
M Datensätze zählen. Datenbankprogrammierung 6
E SQL-Frage (Löschen aller Datensätze) Datenbankprogrammierung 9
M JDBC: Viele Datensätze in Tabelle einfügen: Wie? Datenbankprogrammierung 7
C Datensätze variabel hinzufügen Datenbankprogrammierung 4
K Ältere Datensätze archivieren Datenbankprogrammierung 4
C Datensätze in einer JComboBox auflisten Datenbankprogrammierung 2
W Datensätze v. SQL-Datenbank i. JTextFields ausgeben/updaten Datenbankprogrammierung 12

Ähnliche Java Themen

Neue Themen


Oben