Offline ein Resultset mit Feldern erstellen

Status
Nicht offen für weitere Antworten.

apfelsine

Aktives Mitglied
Hallo!

hat jemand eine Ahnung, ob man in Java ein
Resultset offline erstellen kann ohne auf eine Tabelle
zuzugreifen? Und wenn ja, wie geht das?

Ich weiß nur das es in VB geht und wüßte gerne
obs dafür ein äquivalent in Java gibt.
In VB sieht das z.B. so aus:

Dim Rs As Recordset

Set Rs = New Recordset
Rs.Fields.Append "ID", adInteger
Rs.Fields.Append "Name", adChar, 32
Rs.Fields.Append "BirthDay", adDate
Rs.Open
For i = 1 To 10000
Rs.AddNew Array("ID", "Name", "BirthDay"), _
Array(i, "The Enumerated Name" & i, Now)
Next i


Weiß jemand was dazu?

danke schonmal 🙂

apfelsine
 
ResultSet ist ein interface - also kannste du das direkt nicht per se erzeugen... höchstens eine implementierende Klasse (wobei ich nicht weiß ob da eine sichtbar ist).

Die andere Frage ist - wozu ??
 
Ich bin mir nicht 100% sicher, aber ich glaub, dass das ResultSet "nur" ein Cursor ist, der in die Datenbank zeigt, und daher selbst keine Objekte beinhaltet, daher wird es nicht möglich sein ein offline Resultset zu erstellen
 
was ist mit dem Arrayobjekt von der SQL Bib.
kann man es da drüber irgendwie reinschustern?
Oder irgendwie anders?
 
Schau Dir mal sun.jdbc.rowset.CachedRowSet an.
Dies kann auch "offline" verwendet werden.
so sieht's dann ungefähr aus.
Code:
RowSetMetaDataImpl rsmd = new RowSetMetaDataImpl();
rsmd.setColumnCount(3);
rsmd.setColumnType(1, Types.INTEGER);
rsmd.setColumnType(2, Types.VARCHAR);
rsmd.setColumnType(3, Types.VARCHAR);
rsmd.setColumnName(1, "id");
rsmd.setColumnName(2, "vorname");
rsmd.setColumnName(3, "nachname");
    
CachedRowSet crs = new CachedRowSet(); 
crs.setMetaData(rsmd);
    
crs.moveToInsertRow();
    
crs.updateInt(1, 1);
crs.updateString(2, "Bart");
crs.updateString(2, "Simpson");
    
crs.insertRow();
Gruß,
Michael (semi)
 
Ups, kleiner Fehler

crs.updateString(3, "Simpson");

sollte dort stehen.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben