MySQL ResultSet in ein Array übertragen

salim_aliya

Mitglied
Hallo!

Diese Frage wurde mit Sicherheit x-fach schon gestellt im Internet, aber mit den Antworten kam ich nicht so wirklich weiter, deshalb stelle ich sie erneut und mit ein bisschen Glück kommt Aufklärung in die Sache.

Ich arbeite mit MySQL, nennen wir die Datenbank mal "ABC". ABC enthält drei Tabellen, dessen Datensätze teilweise mit INNER JOIN aus SQL abgefragt werden.

Je nachdem, was gerade abgefragt wird, tauchen bei ResultSet u.U. Spalten auf, mit verschiedenen Datentypen.

Ich suche eine Möglichkeit, mit der ich die ganzen Datensätze aus der Variable des ResultSet-Typs in eine Art "Multitype Array" übertragen kann und dabei die enthaltenen Integers, Doubles oder Floats nach wie vor als solche behandeln kann. Hierbei ist es mir auch wichtig, dass ich die Einträge im Array mittels des Spaltennamens ansprechen kann. Unter PHP klappt das wunderbar, z.B.

Code:
$spalte1 = $result['spalte1'];

Ich möchte die Werte in ResultSet möglichst unkonvertiert lassen, also sprich Integer Werte nicht in String konvertieren, da diese in Rechen-Operationen verwendet werden. Falls Integer, Double oder Float Werte enthalten sein sollten, möchte ich natürlich diese deshalb auch als solche verwenden und behandeln können.

Was für Möglichkeiten hätte ich? Wie könnte ich dies am Besten umsetzen?
 
Zuletzt bearbeitet:
S

SlaterB

Gast
getObject(index/name) liefert den jeweiligen Wert im sicherlich passensten Typ,
den Namen pro Spalte bekommst du aus den Metadaten,

pro Zeile kannst du eine Map<String name, Object value> befüllen und in irgendeine Liste einfügen,
codieren musst du es aber schon, es gibt nichts offizielles, welches ein ResultSet in ähnliches transformiert,
(unter den unzähligen APIs in der Welt aber bestimmt irgendwo)
 
S

SlaterB

Gast
wie du überhaupt irgendwas mit einem ResultSet anfangen kannst, ist nun wirklich in den 10.000 Beispielen des Internets nachzulesen,
ResultSet musst du erst lernen, bevor spezielle Dinge damit angegangen werden können

auch Map ist ein Thema welches vorher Wochen und Monate bekannt sein muss,
ohne Grundlagen kannst du hier nicht mitspielen,
und fertigen Code inklusive Verwendung im Restprogramm werde ich dir kaum liefern

andere Collections wie List oder normales Array wären natürlich gewisse Alternativen,
ein Array von Objekten einer neuen Klasse, die Name + Wert + evtl. Typ enthalten, was immer du brauchst
 
Zuletzt bearbeitet von einem Moderator:

salim_aliya

Mitglied
auch Map ist ein Thema welches vorher Wochen und Monate bekannt sein muss,
ohne Grundlagen kannst du hier nicht mitspielen
Tut mir ja Leid, wenn ich etwas nicht wusste und nachgefragt habe, ich dachte ein Forum hat genau diesen Sinn, habe mich geirrt.

und fertigen Code inklusive Verwendung im Restprogramm werde ich dir kaum liefern
Das war auch nicht gefragt, ein kurzer Hinweis, dass Map eines von vielen Interfaces ist, hätte bereits gereicht. Unter "Map<String name, Object value>" habe ich mir erst einmal gar nichts vorstellen können und scheint auch, was Java betrifft, in vielerlei Hinsicht zu existieren.
 
S

SlaterB

Gast
> ich dachte ein Forum hat genau diesen Sinn, habe mich geirrt.

stell dir vor, ich selber weiß gar nicht was MySQL ist, was ResultSet ist, wie man eine Klasse schreibt, eine Methode, eine Schleife,
wenn du mir das bitte in den nächsten 20 Textseiten alles erklärst,
ja dann wäre ich auch bereit mal unbekanntes dir zu erklären,

aber oh Wunder, das machst du gar nicht, niemand macht das, denn es steht ja schon perfekt aufgelistet in Büchern,
ein Forum ist eben doch nicht alles, sondern hat gewisse Grenzen

spiele beleidigt oder nicht, die Regeln bleiben
 
Zuletzt bearbeitet von einem Moderator:

salim_aliya

Mitglied
wenn du mir das bitte in den nächsten 20 Textseiten alles erklärst
:noe:

Es bedarf ja auch 20 Seiten, um folgendes zu schreiben:

"Map ist ein Interface, dass über java.util.Map importiert werden kann und den du ähnlich einsetzen kannst, wie dein PHP Beispiel von oben."

Wie auch immer... Ich will mich nicht streiten deshalb.

Map hat mich bei meiner Sache ein ganzes Stück weiter gebracht. Danke :)
 
Zuletzt bearbeitet:

ssoul26

Bekanntes Mitglied
Ich find es nicht verkehrt, alles zu Fragen. Man muss ja nicht drauf antworten.

Wie schon erwähnt, laufe einfach dein ResultSet durch, und speichere die Daten in eine Map (HashMap), dann hast die alle parat und Griffbereit.

Java:
Map <String, Object> m= new HashMap<String, Object> ();

 while(rs.next()){       
       m.put("Objekt1",rs.getObject(columnIndex););
    }

Beim auslesen, musst du dann immer entsprechend casten.

Java:
Object o = map.get("Objekt1");
if(o instanceof Double){
Double value = (Double) o;
}else if(o instanceof String){
String value= (String) o;
}
usw.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Oracle Resultset to Array sehr langsam. Datenbankprogrammierung 8
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
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
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
T ResultSet-Inhalt in Arrays schreiben Datenbankprogrammierung 3
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