1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Probleme mit ResultSet bei Query auf Oracle-DB

  • java-girl
  • 21. März 2007 um 08:40
  • Unerledigt
  • java-girl
    14
    java-girl
    Mitglied
    Reaktionen
    7
    Punkte
    2.037
    Beiträge
    357
    • 21. März 2007 um 08:40
    • #1

    Hallo!
    Ich bin gestern in der Schule auf ein seltsames Problem gestoßen, dass selbst mein Lehrer nicht lösen konnte.
    Wir haben uns auf eine Oracle-Datenbank verbunden und sollten dort ein einfaches Query ausführen. Das Query haben wird vorher im SQL-Plus Client getestet, und es war korrekt und brachte auch das erwartete Ergebnis.
    Allerdings, wenn ich versuche, das Ergebnis aus dem ResultSet in Java heraus zu lesen, kommt immer, egal mit welchen Datentyp ich es versuche, 0 bzw. beim String null heraus. Da kann doch irgendwas nicht stimmen, oder? Vor allem, weil wir solche Datenbankoperationen schon oft gemacht haben. Allerdings war das mit MySQL...
    Der Code:

    Code
    String query="SELECT sum(price*amount) FROM items i, basket b WHERE userID=" + userID + " AND b.itemNr=i.itemNr";
    System.out.println(query);
    //Klasse registrieren
    Class.forName(driver);
    //Verbindungsaufbau
    con=DriverManager.getConnection(url, user, password);
    Statement stmt = con.createStatement();
    //Abfrageergebnis im Resultset speichern
    ResultSet rs = stmt.executeQuery(query);
    rs.next();
    double ret = rs.getDouble(1);
    Alles anzeigen

    Das Query ist korrekt, bringt auch keine SQL-Exception. Außerdem führen wir im selben Programm noch ein INSERT durch, das funktioniert ebenfalls einwandfrei! Nur dieses blöde ResultSet will nicht gehen!

    There's no better place than 127.0.0.1!

  • Paulchen
    1
    Paulchen
    Gast
    • 21. März 2007 um 10:12
    • #2

    Hm, merkwürdig. Ich weiß zwar nicht, woran das Problem liegt, aber es funktioniert, wenn du eine view

    Code
    create view bla (price,userid) as select sum(price*amount) as price, userid from items, basket where basket.itemnr=items.itemnr group by userid;

    erstellst und dann

    Code
    String query="select price from bla where userid=" + userID;

    verwendest.

  • java-girl
    14
    java-girl
    Mitglied
    Reaktionen
    7
    Punkte
    2.037
    Beiträge
    357
    • 27. März 2007 um 09:22
    • #3

    So...jetzt bin ich hinter das "Geheimnis" gekommen.
    Plötzlich ist nämlich (nach längerer Zeit) doch sogar der richtig Wert rausgekommen...
    Also, das Problem war dass ich während ich mein Java-Programm ausgeführt habe, gleichzeitig im SQL Plus natürlich mit dem selben User eingeloggt war. Als ich SQL Plus beendet hatte - zack, es geht, und zwar immer!
    Also ich vermute mal stark, dass Oracle Probleme mit den Sessions hat oder so. Wahrscheinlich wird die aktuelle Session nicht gleich übernommen sonder zwischengespeichert oder so.

    There's no better place than 127.0.0.1!

  • Paulchen
    1
    Paulchen
    Gast
    • 27. März 2007 um 10:05
    • #4

    Alternativ zum Beenden von SQL-Plus in SQL-Plus ein COMMIT durchführen.

  • java-girl
    14
    java-girl
    Mitglied
    Reaktionen
    7
    Punkte
    2.037
    Beiträge
    357
    • 27. März 2007 um 13:25
    • #5

    Danke, das hat mir mein Lehrer heute auch noch gesagt :)
    Habs aber noch nicht ausprobiert.

    There's no better place than 127.0.0.1!

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung