ResultSet-Inhalt in Arrays schreiben

Status
Nicht offen für weitere Antworten.
T

terryl

Gast
Ich habe mir eine innere Klasse gemacht, die den Inhalt eines ResultSets aufnehmen soll:

Code:
static class DB
{
    static int[] Priority = null;
    static String[] ID = null;
    // usw.
}

Der Zugriff auf die Datenbank klappt, nur das Schreiben in die Arrays nicht. Gedacht ist, dass der gleiche Index eines der DB-Arrays die entsprechende Zeile des ResultSets repräsentiert.

Code:
try
{
    int i = 0;
    int j = 1;
    while( SQLResult.next() )
    {
        DB.Priority[ i ] = SQLResult.getInt( j ); // <-- Hier meldet Ecplise eine NullPointerException, aber wieso?
        DB.ID[ i ] = SQLResult.getString( ++j );
        DB.Description[ i ] = SQLResult.getString( ++j );
        // usw.
        ++i;
        j = 1;
}
catch( SQLException e )
{
    // Fehlerbehandlung
}
 
S

SlaterB

Gast
vielleicht ist Priority null,

wird irgendwann Priority = new int[34]; gesetzt?
mit welcher Größe initialisiert du überhaupt das Array, die kennst du doch sicher vorher nicht,

verwende lieber eine Liste, da kannst du beliebig viele Elemente reinschreiben,

EINE Liste/ Array statt drei wären besser, in diese Liste oder in das Array dann ein spezielles Objekt, welche alle drei Informationen aufnimmt


Variablen klein schreiben!


wozu der Aufwand mit ++j?
wenn du die Array-Namen usw. sowieso manuell kodieren musst, dann kannst du auch getInt(1), getString(2) usw. hinschreiben
 
T

terryl

Gast
vielleicht ist Priority null,

Das könnte durchaus sein. Wieso aber kann ich keine "0" hineinschreiben?

wird irgendwann Priority = new int[34]; gesetzt?

Versteh nicht, wie du auf diesen Wert kommst.

mit welcher Größe initialisiert du überhaupt das Array, die kennst du doch sicher vorher nicht,

Wie du im Beispiel siehst, stehen alle auf "null", da ich ja die Endgröße nicht kenne.

EINE Liste/ Array statt drei wären besser

Wäre eine Überlegung wert. Aber auch dann müsste ich erst das Objekt erstellen, dass der Liste jeweils hinzugefügt wird.

Variablen klein schreiben!

Ich habe schon alle möglichen Programmierstile gesehen, und selbst SUN empfiehlt nur kleine Anfangsbuchstaben. Im Programmkontext hat mein Vorgehen durchaus Sinn.

wozu der Aufwand mit ++j?

Ich dachte, das wäre klar geworden durch das Beispiel. Ein ResultSet stellt beim Auslesen jeden Eintrag nur einmal zur Verfügung (wenn man nichts anderes vorgibt). Ich muss deshalb für jede DB-Zeile (i) die einzelnen Spalten (j) durchgehen.
 
S

SlaterB

Gast
> Ich dachte, das wäre klar geworden durch das Beispiel.

wie gesagt: statt
getInt( j );
geht auch
getInt( 1 );
aber das Thema ist ja egal

---------

> Das könnte durchaus sein. Wieso aber kann ich keine "0" hineinschreiben?

ein null-Objekt ist einfach nicht da, da kann man nix reinschreiben,
die Array-Länge 34 war von mir willkürlich belegt und sollte auch das Delemma der unbekannten Länge aufzeigen

> Aber auch dann müsste ich erst das Objekt erstellen, dass der Liste jeweils hinzugefügt wird.

zeitlich spielen die paar Nanosekunden keine Rolle
und organisatorisch wirst du damit besser leben, da bin ich sicher

falls du nicht später mal alle Ids als Array übergeben musst oder so,
normalerweise ist es immer besser, zusammengehörige Daten auch zusammen abzulegen,

schau dir das ResultSet an: einmal next() aufgerufen und du hast die drei aktuellen Daten verfügbar,
wie schrecklich wäre es, drei Einzel-ResultSets pro Spalte zu haben, welches du jeweils unabhängig durch next()-Aufrufe vorwärts bewegen müsstest
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S ResultSet als Parameter an andere Klasse übergeben Datenbankprogrammierung 3
Z ResultSet ist null warum? Datenbankprogrammierung 12
R HSQLDB ResultSet update aktualisiert DB, aber nicht das ResultSet Datenbankprogrammierung 2
Dimax Erstellen ResultSet und Statement Datenbankprogrammierung 30
C PostgreSQL ResultSet.TYPE_SCROLL_SENSITIVE setzen Datenbankprogrammierung 2
L MySQL Bekomme einen Fehler beim ResultSet Datenbankprogrammierung 12
L Zugriff auf ein Resultset Datenbankprogrammierung 7
L MySQL ResultSet vollständig auslesen Datenbankprogrammierung 20
D Resultset schließen ?? Datenbankprogrammierung 5
T Oracle Resultset to Array sehr langsam. Datenbankprogrammierung 8
B Probleme mit java.sql.SQLException: ResultSet closed Datenbankprogrammierung 21
J SQLite ResultSet closed -- Wiederholende DB-Abfragen Datenbankprogrammierung 6
Z MySQL Probleme mit resultSet executQuery Datenbankprogrammierung 3
L ResultSet Datenbankprogrammierung 1
J wie mit resultset.next() über Datensätze iterieren? Datenbankprogrammierung 15
R MySQL Umgang mit ResultSet/Fremdschlüssel ausgeben Datenbankprogrammierung 2
D MySQL ResultSet als Stream weiter geben Datenbankprogrammierung 9
M ResultSet Cachen Datenbankprogrammierung 3
R ResultSet mit "Untertabellen" Datenbankprogrammierung 4
N SQL-Statement Auslesen des Resultset wird immer langsamer Datenbankprogrammierung 6
R Resultset.last() Problem Datenbankprogrammierung 12
PaulG Leeres ResultSet initialisieren Datenbankprogrammierung 6
J Frage zu ResultSet Datenbankprogrammierung 3
J SQL ResultSet Previous Datenbankprogrammierung 10
S MySQL ResultSet in ein Array übertragen Datenbankprogrammierung 7
H PostgreSQL Objekte aus ResultSet Datenbankprogrammierung 5
H ResultSet is closed tritt bei JSF aber nicht bei einer Java-Applikation auf Datenbankprogrammierung 10
O Oracle Resultset greift auf Spaltenüberschriften zu Datenbankprogrammierung 2
Kenan89 Wieso klappt das ResultSet nicht? Datenbankprogrammierung 3
C ResultSet enthält nicht alle Daten Datenbankprogrammierung 4
F Derby/JavaDB Resultset in JTablemodel Datenbankprogrammierung 2
F Oracle ResultSet zu einer HashMap<Integer, String[]> Datenbankprogrammierung 6
B SQLite ResultSet is TYPE_FORWARD_ONLY Datenbankprogrammierung 5
T Exception ResultSet Datenbankprogrammierung 7
0 ResultSet in JTable Datenbankprogrammierung 14
S [SQL] ResultSet Datenbankprogrammierung 4
R ResultSet Datenbankprogrammierung 4
I Sonderbehandlung wenn ResultSet leer ist Datenbankprogrammierung 9
I Problem mit ResultSet Datenbankprogrammierung 2
I SQL_Abfrage-Ergebnis (ResultSet) in String[] speichern Datenbankprogrammierung 29
B ResultSet wirft komische NullPointerException. Datenbankprogrammierung 3
R Detached ResultSet Datenbankprogrammierung 3
F generelle Vorgehensweise ResultSet Datenbankprogrammierung 5
S ResultSet Datenbankprogrammierung 2
A MySQL ResultSet.updateBytes schlägt fehl Datenbankprogrammierung 2
F ResultSet kann Datenbank nicht update, warum? Datenbankprogrammierung 3
T ResultSet befehl für leere Spalte nicht lesen Datenbankprogrammierung 4
S ResultSet einer Datenbankabfrage - Nullpointer Exception Datenbankprogrammierung 13
A PostgreSQL anfängerfrage: resultset zeilenweise auslesen Datenbankprogrammierung 2
T MySQL ResultSet zurückgeben nachdem Connection geschlossen wurde? Datenbankprogrammierung 3
K Keine ResultSet bei if in StoredProcedure Datenbankprogrammierung 16
D ResultSet gibt nichts aus. Datenbankprogrammierung 3
trash ResultSet Syntax Fehler Datenbankprogrammierung 11
ARadauer JDBC ResultSet schließen? Datenbankprogrammierung 4
M Oracle Problem mit Resultset Datenbankprogrammierung 11
J jdbc ResultSet types Datenbankprogrammierung 5
R Frage zu PreparedStatement/ResultSet Datenbankprogrammierung 16
F ResultSet to String[] Datenbankprogrammierung 3
E ResultSet in HashMap Datenbankprogrammierung 8
K Tabelle mit resultset refreshen? Datenbankprogrammierung 4
M Problem mit ResultSet bei SQL Server 2005 Datenbankprogrammierung 6
S ResultSet in ArrayList ablegen Datenbankprogrammierung 17
G Daten aus ResultSet in String-Liste Datenbankprogrammierung 13
T ResultSet initialisieren Datenbankprogrammierung 2
C kein Resultset Datenbankprogrammierung 2
G ResultSet: String mit Anführungszeichen einlesen Datenbankprogrammierung 8
S ResultSet variabel auslesen Datenbankprogrammierung 4
D Anzahl der Elemente im ResultSet ermitteln Datenbankprogrammierung 8
A Leeres ResultSet mit H2 unter Vista Datenbankprogrammierung 3
A Warum ist mein ResultSet leer? Datenbankprogrammierung 5
S ResultSet closed Datenbankprogrammierung 2
Z ResultSet mit einer anderen Datenquelle Datenbankprogrammierung 7
O Spaltenname aus Resultset Datenbankprogrammierung 2
thE_29 ResultSet und doppelte Spalten Datenbankprogrammierung 4
E Neues select auf ein vorhandenes Resultset Datenbankprogrammierung 11
E ResultSet vergisst Reihe? Datenbankprogrammierung 2
N resultset aus andere klasse übergeben Datenbankprogrammierung 3
F ResultSet refresh moeglich? Datenbankprogrammierung 3
S ResultSet enthält keine Daten Datenbankprogrammierung 2
B Geschlossenes ResultSet Datenbankprogrammierung 6
T ResultSet#next Ungültige Reihenfolge (DB2) Datenbankprogrammierung 5
T ResultSet schließen? Datenbankprogrammierung 6
S Tabelle updaten wenn ResultSet aus JDBC-Quelle Datenbankprogrammierung 2
S ResultSet Datenbankprogrammierung 6
F Filtern innerhalb eines Resultset Datenbankprogrammierung 12
S Connection/Statement/ResultSet auf einmal geschlossen Datenbankprogrammierung 8
@ Like-Klausel; NPE bzw. leeres ResultSet Datenbankprogrammierung 4
C Resultset nach connection close weiterreichen Datenbankprogrammierung 5
B No ResultSet was produced Datenbankprogrammierung 2
S ResultSet erweitern ? Datenbankprogrammierung 4
E JDBC, ForwardOnly bei ResultSet nach Uebergabe Datenbankprogrammierung 4
R ResultSet liefert oracle.sql.TIMESTAMP, aber unbrauchbar Datenbankprogrammierung 9
A Probleme mit ResultSet und getString(i) Datenbankprogrammierung 13
RaoulDuke ResultSet - Wie arbeitet sowas intern Datenbankprogrammierung 2
N Probleme mit "nur vorwärts gerichtete ResultSet" Datenbankprogrammierung 7
G Für jede SQL-Abfrage eigenes Statement und ResultSet? Datenbankprogrammierung 3
T MAX und ResultSet#next Datenbankprogrammierung 10
R ResultSet zu bestimmtem DS navigieren Datenbankprogrammierung 4
S .leeres Resultset abfangen Datenbankprogrammierung 2
B ResultSet ohne Datenbank erstellen Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben