Announcement

Collapse
No announcement yet.

Problem mit resultSet, Javabean und JSP

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit resultSet, Javabean und JSP

    Hallo,
    folgendes Problem:

    ich habe in einer Bean "Abfrage" eine Datenbankabfrage programmiert.
    (das sind alles nur Code-Fragmente)

    PreparedStatement ps = con.prepareStatement(sql);

    ...

    ResultSet rs = ps.executeQuery();
    rset = rs;
    ResultSetMetaData rsmd = rs.getMetaData();
    int count = rsmd.getColumnCount();
    while (rs.next()) {
    resultsSetVector = new Vector();
    for (int i = 0; i <= count; i++){
    resultsSetVector.addElement(rs.getString(i+1));
    }
    resultsVector.addElement(resultsSetVector);
    }

    rs ist das ResultSet, welches ich in die Vektoren abspeichern will.
    Da stehen auch Werte drin, nur wenn ich durch die while-Schleife gehe, dann gibt das nur einen Durchlauf.
    resultsVector.size() ist 0, müsste aber viel größer sein.
    in der resultmenge sind auch viel mehr Datensätze drin.
    In meiner Not habe ich die public-Variable rset eingeführt, der ich rs zuweise.
    Wenn ich dann im JSP folgendes mache:

    <jsp:useBean id="app" scope="session" class="mypack.Abfrage" />

    while (app.rset.next()) {
    String benutzer = app.rset.getString("benutzer");
    String rufnummer = app.rset.getString("rufnummer");
    }

    werden alle Datensätze durchlaufen.
    Warum geht das innerhalb der Bean nicht ???

    Ich bin echt am Ende mit meinem Latein, und es ist wie immer alles superdringend :-(.

    Weiß vielleicht jemand Rat ?

    Danke im Voraus
    Steffen

  • #2
    Hallo,
    ich hab den Fehler gefunden, es liegt wohl an der for-Schleife:

    for (int i = 0; i <= count; i++){
    resultsSetVector.addElement(rs.getString(i+1));
    }

    die muss so aussehen:
    for (int i = 1; i <= count; i++){
    resultsSetVector.addElement(rs.getString(i));
    }

    In count steht die Spaltenanzahl des Datensatzes drin, getString() zählte so immer zu weit und das ResultSet sprang so wahrscheinlich bis zum Ende.

    Na ja, es war gestern bei mir wahrscheinlich schon zu spät am Abend ... ;-)

    Gruß
    Steffe

    Comment

    Working...
    X