Hallo zusammen,
ich habe ein Problem:
Eine Funktion fragt aus einer SQL DB mehrere Objekte ab und speichert diese dann in Vektoren.
Es sind 4 verschiedene Tabellen und Objekte und auch 4 Vektoren.
Wie gebe ich nun diese Vektoren bei RETURN zurück?
Ich dachte mir, ich packe die vier gefüllten Vektoren wiederum in einen Vektor und gebe den zurück
aber dann klappt hinterher beim Aufruf der Objekte im Vektor nichts mehr.
Entweder caste ich falsch oder man darf Vektoren einfach nicht in einem Vektor ablegen
Beispiel:
So ungefähr wiederhole ich es auch für die anderen 3 Objekte.
zum Schluß gibt die Funktion nun "return vContainer".
In der aufrufenden Klasse möchte ich die vier einzelnen Vektoren wieder in einen Vektor pro Objekt speichern,
damit ich die abgelegten Objekte holen kann, was scheinbar noch geht
Beispiel:
Aber will ich nun
aufrufen, gibt es eine NullPointerException obwohl mir als vOrte Länge 185 ausgegeben wird, der Vektor also nicht leer ist.
Kann mir jemand weiterhelfen?
Vielen Dank
P.S.:
Rufe ich anstelle der Funktion, die alle 4 Vektoren zurückgeben soll
vier einzelne Funktionen, die mir jeweils einen der Vektoren geben,
ich also auf einen Vektor als Vektorcontainer verzichten kann,
habe ich keine Probleme.
Leider wird dann 4 mal eine DB Verbindung aufgebaut und geschlossen, was bei HSQLDB
sehr lange dauert (File-DB da kein DB Server vorhanden ist)
ich habe ein Problem:
Eine Funktion fragt aus einer SQL DB mehrere Objekte ab und speichert diese dann in Vektoren.
Es sind 4 verschiedene Tabellen und Objekte und auch 4 Vektoren.
Wie gebe ich nun diese Vektoren bei RETURN zurück?
Ich dachte mir, ich packe die vier gefüllten Vektoren wiederum in einen Vektor und gebe den zurück
aber dann klappt hinterher beim Aufruf der Objekte im Vektor nichts mehr.
Entweder caste ich falsch oder man darf Vektoren einfach nicht in einem Vektor ablegen
Beispiel:
Code:
Objekt Ort (int id, String ortname, String land)
Vektor vOrt;
vOrt.add(Ort); (x mal für x Orte)
Vektor vContainer;
vContainer.add (vOrt);
zum Schluß gibt die Funktion nun "return vContainer".
In der aufrufenden Klasse möchte ich die vier einzelnen Vektoren wieder in einen Vektor pro Objekt speichern,
damit ich die abgelegten Objekte holen kann, was scheinbar noch geht
Beispiel:
Code:
Vector vOrte = (Vector) vContainer.get(0)
Code:
Ort myOrt = (Ort) vOrte.get(0)
Kann mir jemand weiterhelfen?
Vielen Dank
P.S.:
Rufe ich anstelle der Funktion, die alle 4 Vektoren zurückgeben soll
vier einzelne Funktionen, die mir jeweils einen der Vektoren geben,
ich also auf einen Vektor als Vektorcontainer verzichten kann,
habe ich keine Probleme.
Leider wird dann 4 mal eine DB Verbindung aufgebaut und geschlossen, was bei HSQLDB
sehr lange dauert (File-DB da kein DB Server vorhanden ist)