Axel: JDBC

Hallo,

ich möchte folgende Abfrage via JDBC an eine MS Access Datenbank senden:

String query = "SELECT PassagierNr, SUM(Anz_Gewicht) AS [Gewicht des Gepäcks pro Passagier] " +
"FROM Flugbuchungen " +
"GROUP by PassagierNr";

Frage: Welchen Datentyp muss ich für "SUM(Anz_Gewicht)" wählen ???

Anz_Gewicht hat den Felddatentyp "zahl" !

mit int i = rs.getInt("SUM(Anz_Gewicht)"); klappts nicht!

Danke

Axel

  1. hey Axel

    Frage: Welchen Datentyp muss ich für "SUM(Anz_Gewicht)" wählen ???

    Antwort:*g* Laß dir doch mal mit
    ResultSetMetaData resultSetMetaData = rs.getMetaData();
    resultSetMetaData.getColumnType(2)
    den Typ des Feldes ausgeben. Ich weiß zwar nicht was für einen Datentyp SUM liefert, aber ich rechne stark damit, dass eine Gleitkommazahl rauskommen müßte. Das wäre dann getFloat() oder getDouble().

    Hoffe es hilft dir weiter
    Gruß Hansjörg

  2. Hallo,

    ich möchte folgende Abfrage via JDBC an eine MS Access Datenbank senden:

    String query = "SELECT PassagierNr, SUM(Anz_Gewicht) AS [Gewicht des Gepäcks pro Passagier] " +
    "FROM Flugbuchungen " +
    "GROUP by PassagierNr";

    Frage: Welchen Datentyp muss ich für "SUM(Anz_Gewicht)" wählen ???

    Anz_Gewicht hat den Felddatentyp "zahl" !

    mit int i = rs.getInt("SUM(Anz_Gewicht)"); klappts nicht!

    Danke

    Axel

    In der Query benennst Du die Ergebnisspalten.

    Der Sum(Anz_Gewicht) AS [Gewicht des Gepäcks pro Passagier]

    setzt also den Spaltennamen [Gewicht des Gepäcks pro Passagier]

    Kann mir nicht vorstellen, daß das in Ordnung ist ;-)

    Teste mal in der Query

    Sum(Anz_Gewicht) AS ggpp

    und dann

    rs.getInt("ggpp"); im Javacode.

    Wenn es dann noch Typ-Probleme gibt, kannst Du vielleicht mit rs.getValue("ggpp") arbeiten und das Ergebnis casten?

    </gun>