Wie kann ich SQL Resultset in Collection Objekt speichern?

maikmaik

Grünschnabel
Hallo,

bin java Anfänger und will mit Corba arbeiten. Ich will ein SQL ResultSet rs von einem Server zum Client schicken.

ich habe gelesen, dass man am besten das resultset in ein Collection Objekt speichern soll. Kann mir bitte jemand an einem kleinen code-beispiel sagen wie das geht?

Wüsste vielleicht jemand wie ich dann dieses Objekt in CORBA IDL auszudrücken habe?

Wäre echt nett , wenn ihr mir weiterhelfen könntet. Habe schon ziemlich viel versucht in diesem Zusammenhang.

Vielen Dank
Maik
 
Speichern SQL Resultset in Collection vector

Hi,

also ich denke mal das speichern in eines sql resultset (rs) in einen vector müsste natürlich so gehen.

[...]

ResultSet rs = stmt.executeQuery(sql);

Vector list = new Vector();
while (rs.next())
{
list.addElement(rs);
}

Aber wie sieht dann nur die IDL dazu aus? Weil CORBA-IDL kennt doch keine Collections oder?
 
Was für ein Server soll die Daten denn empfangen? Ich versteh nicht ganz, wieso man das ResultSet dazu erst noch in ein Collection-Objekt ablegen soll.
Mit rs.next() als Schleifenbedigung gehst du nur die Datensätze in deinem ResultSet durch, und fügst für jeden Datensatz das gesamte ResultSet in den Vector ein.
 
Hallo!

Zuerst einmal, du kannst keine "rohen" ResultSets durchs Netz schicken, da diese nicht serialisierbar sind. Dafür gibt es allerdings sogenannte RowSets mit denen man genau das tun kann...

aber schau mal hier: http://www.javaworld.com/javaworld/jw-04-1998/jw-04-distributed-p4.html

So wie's ausschaut gibts bei der Java IDL (IMHO kompatibel zur Corba IDL)
Sowas wie structs (Wie im Beispiel). Du müsst eben einen Struct definieren, welcher alle Felder deines ResultSet enthält. Dann kannst du dir aus der idl mittels idltojava eine Java Klasse generieren lassen, die sozusagen als ValueObject für deine Daten dient. Wie du dann weiter verfährst kannst du unter dem Link nachlesen.

Gruß Tom
 
Zurück