Hallo,
ich habe ein Problem. Und zwar will ich die Daten aus einer View mittels Java auslesen. Ich benütze dabei die Klasse Resultset und später die Klasse Result. Jedoch werden die Spalten die ich im View anderst genannt hatte (mit zb nachname AS p_nachname) nicht richtig übernommen, sondern behalten den orginal Spaltenname.
Ich weiß auch wo der Fehler ist, weiß aber nicht wie ichs beheben kann.
Die View sieht folgerndermaßen aus (etwas abgespeckt):
und meine Abfrage für die Datenbank sieht so aus:
und zwar wird das Ergebnis komischerweise an dieser Stelle falsch umgewandelt:
Sprich der Resultsupport zeigt mir die richtigen Ergebnisse an (auch richtige Spaltennamen), jedoch wenn ich das in ein Result umwandle und danach die ColumnNames anschaue, dann werden die Spalten die ich umbenannt habe nicht richtig angezeigt.
Also er erkennt dann in meinem Fall 2x die Spalte vorname, nachname und abteilung obwohl diese ja egtl unterschiedlich heißen müssten und die Spalte vorname zB gar nicht existieren dürfte.
Wenn ich dasselbe direkt im MySQL Command Line Client anzeigen lasse, funktioniert auch alles wunderbar. Es muss also an dem ResultSupport.toResult liegen...
Was kann ich da machen um das zu beheben
Grüße Stefan
ich habe ein Problem. Und zwar will ich die Daten aus einer View mittels Java auslesen. Ich benütze dabei die Klasse Resultset und später die Klasse Result. Jedoch werden die Spalten die ich im View anderst genannt hatte (mit zb nachname AS p_nachname) nicht richtig übernommen, sondern behalten den orginal Spaltenname.
Ich weiß auch wo der Fehler ist, weiß aber nicht wie ichs beheben kann.
Die View sieht folgerndermaßen aus (etwas abgespeckt):
Code:
CREATE VIEW versuchsfahrzeuge AS
SELECT v.idVersuchsfahrtenfahrzeug, v.versuchsfahrtID, v.fahrzeugID, v.fahrzeugBetreuerID, v.lfnr, v.projekt, v.abgelesen_von, v.bemerkung,
t.nachname AS p_nachname, t.vorname AS p_vorname, t.abteilung AS p_abteilung,
a.nachname AS abgemessen_nachname, a.vorname AS abgemessen_vorname, a.abteilung AS abgemessen_abteilung
FROM versuchsfahrtenfahrzeug v
LEFT JOIN person_select t ON (v.fahrzeugBetreuerID = t.idPerson)
LEFT JOIN person_select a ON (v.abgelesen_von = a.idPerson);
Code:
try{
// execute query
stmt = conn.createStatement();
rs = stmt.executeQuery(query);
r = ResultSupport.toResult(rs);
}catch(Exception ex){
...
}{finally{
// release resources
if(rs != null){ rs.close();
rs = null;
}
if(stmt != null){
stmt.close();
stmt = null;
}
}
Code:
r = ResultSupport.toResult(rs);
Also er erkennt dann in meinem Fall 2x die Spalte vorname, nachname und abteilung obwohl diese ja egtl unterschiedlich heißen müssten und die Spalte vorname zB gar nicht existieren dürfte.
Wenn ich dasselbe direkt im MySQL Command Line Client anzeigen lasse, funktioniert auch alles wunderbar. Es muss also an dem ResultSupport.toResult liegen...
Was kann ich da machen um das zu beheben
Grüße Stefan