Nur ein Datensatz wird angezeigt, obwohl mehrere existieren

Status
Nicht offen für weitere Antworten.

Weima

Mitglied
Hi Leute!
Ich schreib mir grad ein Programm zusammen, welches JTables verwendet (diese werden mit DB-Daten gefüttert, ist also schon die richtige Topic ;) ).

Ich habe folgenden Code:
Code:
fachlehrer = new Vector();
data = new Vector();

String query = "SELECT ID, Nachname, Vorname FROM Lehrer ORDER BY Nachname ASC";

rs = stmt.executeQuery(query);

//Legt alle Fachlehrer-Objekte an und legt sie in einem Vector ab.
while(rs.next()) new Fachlehrer(rs.getInt(1),rs.getString(2),rs.getString(3));

//Belegt data mit dem kompletten Inhalt der Tabelle.
for(int i=0; i<fachlehrer.size(); i++) data.add(((Fachlehrer)fachlehrer.get(i)).getData());
stmt ist das Statement, rs das ResultSet, fachlehrer und data sind Vectoren. In derwhile-Schleife wird der Konstruktor von Fachlehrer aufgerufen und das Objekt fügt sich selber dem Vector fachlehrer hinzu. In der for-Schleife werden die Daten für die Tabelle aufbereitet.

Nun zu meinem Problem: Gebe ich den Query einfach in die DB ein, werden mir massig Datensätze angezeigt. Im Programm wird mir aber nur ein Datensatz angezeigt... Ich suche mich hier dusslig... Also bitte helft mir :)

Danke im vorraus!
Weima
 

Weima

Mitglied
Nein. Der erste wird angezeigt... Und ich such und such dort bei der while-Schleife rum, weil das ResultSet stimmt (hab mittels rs.last() was ausgegeben und das steht wirklich am Ende des ResultSets). Der Fehler kann doch eigentlich nur noch dort liegen... Oder nicht? ;)
 

André Uhres

Top Contributor
Für mich funktioniert alles, wie dieses KSKB zeigt:
Code:
/*
 * FachlehrerTest_1.java
 */
import java.sql.*;
import java.util.*;
public class FachlehrerTest_1 {
    public FachlehrerTest_1() {
        try {
            connect();
        } catch (SQLException ex) {
            System.out.println(ex.getMessage());
            System.exit(0);
        }
        fachlehrer = new Vector();
        data = new Vector();
        String query = "SELECT ID, Nachname, Vorname FROM Lehrer ORDER BY Nachname ASC";
        try {
            rs = stmt.executeQuery(query);
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        try {
//Legt alle Fachlehrer-Objekte an und legt sie in einem Vector ab.
            while(rs.next()) {
                new Fachlehrer(rs.getInt(1),rs.getString(2),rs.getString(3));
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
//Belegt data mit dem kompletten Inhalt der Tabelle.
        for(int i=0; i<fachlehrer.size(); i++) {
            data.add(((Fachlehrer)fachlehrer.get(i)).getData());
        }
        for (Iterator it = data.iterator(); it.hasNext();) {
            String elem = (String) it.next();
            System.out.println(elem);
        }
    }
    private void connect()throws SQLException{
        DriverManager.registerDriver( new sun.jdbc.odbc.JdbcOdbcDriver() );
        databaseURL = databaseURL + DATABASE_NAME;
        connection = DriverManager.getConnection(databaseURL, DATABASE_USER, USER_PASSWORD);
        stmt = connection.createStatement();
    }
    public static void main(String[] args) { new FachlehrerTest_1(); }
    private Vector fachlehrer, data;
    private ResultSet rs;
    private Statement stmt;
    private Connection connection;
    private String databaseURL = "jdbc:odbc:";
    private final String DATABASE_NAME = "test";
    private final String DATABASE_USER = "root";
    private final String USER_PASSWORD = "sql";
    private final String TABLE_NAME = "Lehrer";
    class Fachlehrer {
        String data;
        public Fachlehrer(int i, String s1, String s2){
            data = i+s1+s2;
            fachlehrer.add(this);
        }
        public String getData(){
            return data;
        }
    }
}
 

Weima

Mitglied
Oh Mann! Ich wusste, dass es was ganz profanes ist!
Ich hatte das ResultSet einmal überschrieben! :oops:

Jetzt geht jedenfalls alles...

Nochmals Danke an alle!!! :D
 

André Uhres

Top Contributor
Da sieht man schon wieder einmal wie nützlich ein KSKB ist!
KSKB bedeutet: Kurzes, Selbständiges, Kompilierbares Beispiel
Ein KSKB vorzubereiten kostet Anstrengung. Der Lohn: schnellere Lösung des Problems.

Oft führt es dazu, dass man die Lösung selbst findet, ohne etwas zu posten,
weil man dann nämlich gezwungen ist, das Problem auf das Wesentliche zu reduzieren und somit
die Lösung leichter zu finden ist :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Nur der letzte Datensatz wird in Tabelle geschrieben Datenbankprogrammierung 4
A MySQL Datensatz wird nicht richtig gelöscht Datenbankprogrammierung 6
H letzter Datensatz wird nicht gefunden? Datenbankprogrammierung 6
F SQLite Datensatz löschen Datenbankprogrammierung 13
B Mit Button einen Datensatz löschen Datenbankprogrammierung 2
S sql query, um bestimten datensatz zu finden Datenbankprogrammierung 33
D MySQL Neuen Datensatz mit "new" anlegen Datenbankprogrammierung 16
M Serienbrief aus Datensatz Datenbankprogrammierung 2
E Aufzählung liest nur ersten Datensatz Datenbankprogrammierung 14
S SQLite Selectanfrage lieft datensatz aber cursor ist leer Datenbankprogrammierung 2
M Designfrage zu Rows die sich auf einen Datensatz derselben Tabelle beziehen Datenbankprogrammierung 7
L SQLite fügt nur den ersten Datensatz ein Datenbankprogrammierung 2
C Hibernate Datensatz löschen Datenbankprogrammierung 2
M Access Datensatz beinhaltet ESC-Zeichen Datenbankprogrammierung 3
U Nur den ersten Datensatz löschen wenn mehrere gleiche da sind Datenbankprogrammierung 2
C Gleichzeitiger Zugriff auf Datensatz Datenbankprogrammierung 5
Eldorado MySQL Hibernate - neuen Datensatz einfügen Datenbankprogrammierung 2
Java.getSkill() Datensatz / Tupel automatisch nach xy Tagen / Stunden löschen Datenbankprogrammierung 7
M Datensatz exklusiv öffnen Datenbankprogrammierung 5
M design issue: datensatz lange locken? Datenbankprogrammierung 10
M Datensatz aus Datenbank löschen Datenbankprogrammierung 6
T Theoriefrage : mehrere User vs gleichen Datensatz Datenbankprogrammierung 4
K Schnelle Methode um zu testen ob Datensatz existiert Datenbankprogrammierung 9
R datenbank - datensatz sucjen Datenbankprogrammierung 4
-MacNuke- Hibernate löscht jeden Datensatz einzeln? Datenbankprogrammierung 12
V Doppelten Datensatz vermeiden? Datenbankprogrammierung 7
S Überprüfen ob Datensatz existiert Datenbankprogrammierung 2
P SQL, nur jeder 5. Datensatz Datenbankprogrammierung 9
B Eingefügter Datensatz erneut abfragen. Datenbankprogrammierung 10
J Anzeige Button gibt immer nur 1. Datensatz aus DB aus Datenbankprogrammierung 8
M Letzter Datensatz mit auslesen(brauch kleinen Tipp) Datenbankprogrammierung 15
N SELECT: Datensatz sperren Datenbankprogrammierung 6
C vorheriegen oder letzten Datensatz Datenbankprogrammierung 2
K ResultSet: Erste Zeile ausgeben, Datensatz in String speiche Datenbankprogrammierung 13
C Datensatz einfügen und quittierung Datenbankprogrammierung 31
F suche MySQl-Befehl um Datensatz an Tabellenende zu schreiben Datenbankprogrammierung 2
D JOIN COLUMN wird nicht genommen Datenbankprogrammierung 2
Maxim6394 JPA / EclipseLink - n:m Beziehung wird nicht aktualisiert Datenbankprogrammierung 0
Maxim6394 JPA 3.2 & SQLite - LocalDateTime wird falsch geladen Datenbankprogrammierung 1
D Ich möchte dass ich nachdem man den Kommentar geschrieben hat den Kommentar in den Tabelle Bestellübersicht geschbeichert wird klappt nicht bei mir Datenbankprogrammierung 2
Watsoon Treiber wird in Intellij nicht geladen Datenbankprogrammierung 2
Kirby.exe PreparedStatement wird nicht ausgeführt Datenbankprogrammierung 5
Z Datenbank Choicebox wird nicht befüllt Datenbankprogrammierung 15
N Sqlite DB mit Java wird auf Linuxsystem nicht gefunden Datenbankprogrammierung 9
J Netbeans 11 und Eclipse JPA 2.5 Entity wird nicht gefunden Datenbankprogrammierung 4
F H2 ObjectOptimisticLockingFailureException wird nicht geworfen Datenbankprogrammierung 0
S sun.jdbc.odbc.JdbcOdbcDriver wird nicht gefunden Datenbankprogrammierung 2
S MySQL Speicher wird nicht freigegeben bei Datenbankabfragen Datenbankprogrammierung 6
D MySQL Eingabe wird nicht übernommen... Datenbankprogrammierung 11
L Select Anweisung wird falsch interpretiert Datenbankprogrammierung 3
F sun.jdbc.odbc.jdbcodbcdriver wird nicht gefuden Datenbankprogrammierung 3
L JTable-DB: Letzter wert wird nicht angezeigt. Datenbankprogrammierung 0
K Datenbank wird bei Programmstart als .jar nicht mehr befüllt Datenbankprogrammierung 12
T MySQL Datetime wird auf Sekunden gerundet, soll es aber nicht Datenbankprogrammierung 2
N SQL-Statement Auslesen des Resultset wird immer langsamer Datenbankprogrammierung 6
P JSF + H2 + TomEE + Hibernate/JPA Datenbank wird nicht angelegt Datenbankprogrammierung 3
C Programm wird nach DB-Eintrag nicht weitergeführt Datenbankprogrammierung 5
M OutOfMemoryException obwohl nur 1 Eintrag abgefragt wird Datenbankprogrammierung 7
T f:event preRenderView Trigger wird nicht ausgeführt Datenbankprogrammierung 4
P Oracle Hibernate - Oracle-VarChar-Index wird nicht genutzt Datenbankprogrammierung 3
H Microsoft Access Treiber wird nicht gefunden Datenbankprogrammierung 9
S JPA, Primary Key wird nicht in relationstabelle erstellt Datenbankprogrammierung 3
B MySQL Hibernate (duplicate Entry) Beziehungstabelle wird nicht befüllt Datenbankprogrammierung 8
N batchupdate, es wird nur der letzte Eintrag eingetragen Datenbankprogrammierung 5
N batch-Update wird nicht durchgeführt Datenbankprogrammierung 2
M Rückgabewert aus DB wird falsch gelesen Datenbankprogrammierung 3
S Wie überprüfe ich ob die Instanz einer Connection gerade werwendet wird? Datenbankprogrammierung 4
C DB.Treiber wird nicht gefunden? Datenbankprogrammierung 5
E MySQL Treiber wird nicht geladen Datenbankprogrammierung 5
K org.gjt.mm.mysql.driver wird nicht gefunden Datenbankprogrammierung 11
T Unerwartete Datenbankausgabe bei "select now()" (es wird ein .0 angehängt) Datenbankprogrammierung 5
N Ubuntu 9.04 jdbc connector wird nicht gefunden Datenbankprogrammierung 5
K Wird auf den Eintrag referenziert? Datenbankprogrammierung 4
J SqlConnection Instanz wird immer grösser? Datenbankprogrammierung 2
I Sql Befehl wird nicht ausgeführt Datenbankprogrammierung 8
sparrow [Hibernate] Relation wird nicht gespeichert (Topic changed) Datenbankprogrammierung 11
A REVOKE wird nicht durchgeführt Datenbankprogrammierung 2
M Treiber wird nicht gefunden Datenbankprogrammierung 5
P Datenbank wird nicht geschlossen - problematisch? Datenbankprogrammierung 2
N mysql.jdbc treiber wird nicht gefunden Datenbankprogrammierung 2
D Neuer Query wird nicht erkannt Datenbankprogrammierung 10
S JOptionPane wird nicht angezeigt Datenbankprogrammierung 5
ven000m SQL Querry wird nicht abgesetzt, da vorher underlined! Datenbankprogrammierung 8
D "Distinct" wird nicht ausgeführt Datenbankprogrammierung 8
H mySql Connector/J Treiber wird nicht gefunden Datenbankprogrammierung 2
C SQLException wenn String auf VARCHAR geschrieben wird Datenbankprogrammierung 10
H JDBC-Treiber wird nicht geladen Datenbankprogrammierung 2
L SQL-Problem: Insert wird nicht ausgeführt Datenbankprogrammierung 5
N Cloudscape wird opensource :) Datenbankprogrammierung 3
X Verbindung zu DB wird zurückgewiesen Datenbankprogrammierung 8
S Hibernate - Abgeleitete Klassen werden nicht angezeigt wenn... Datenbankprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben