# Mehrere ResultSets gleichzeitig verwenden



## Martin (20. Jul 2004)

Folgendes Problem: Ich lese den kompletten Inhalt eines Selects (mit 7 Spalten) aus, also ungefähr so:

```
String query = "SELECT ... ";
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
   //datensatz in Hashtable schreiben
   
   //hier möchte ich noch zusätzlich Daten aus anderen Abfragen in Hashtable schreiben
   
   data.addElement(hash);
}
```

Die Daten aus dem Resultset werden in eine Hashtable geschrieben (name=rs.getString(1), adress=rs.getString(2) usw.) Jetzt möchte ich aber zu jedem Datensatz zusätzlich ein Ergebnis aus einer anderen Abfrage hinzufügen. Das geht aber nur, wenn ich gleichzeitig auf ein zweites ResultSet zugreifen kann (welches in diesem Fall z.B. die Kategorien zurückgibt, zu denen ein Datensatz gehört), was aber nicht funktioniert.

Martin


----------



## Martin (20. Jul 2004)

Was ich noch dazusagen sollte:
_data_ ist ein Vector.
Die Struktur sieht also in etwa so aus:

Vector (_data_) beinhaltet für jeden Datensatz eine Hashtable (_restData_), die ihre Daten aus DIVERSEN Abfragen zusammenbaut (Grunddaten aus einer Abfrage + Kategorien, Kommentare aus anderen Abfragen)


```
Vector data = new Vector();
String query = "SELECT ... "; 
ResultSet rs = stmt.executeQuery(query); 
while (rs.next()) { 
   Hashtable restData = new Hashtable();
   restData.put("name", rs.getString(1));
   restData.put("adress", rs.getString(2));
   ...
    
   //hier möchte ich noch zusätzlich Daten aus anderen Abfragen in Hashtable schreiben 
   restData.put("types", ' Array mit Daten aus anderer Abfrage');
    
   data.addElement(restData); 
}
```

Wäre um jede Hilfe (auch über einen anderen Ansatz) dankbar. Die einzige Einschränkung ist, dass die Struktur so aussieht, wie ich sie angegeben habe.


----------



## Guest (21. Jul 2004)

Es kann pro Statement NUR EIN ResultSet gleichzeitig geöffnet sein.

Guckst Du hier: http://www.java-forum.org/de/viewtopic.php?t=6615


----------



## Martin (21. Jul 2004)

danke


----------

