# Erschöpfte Ergebnismenge



## Corny (8. Apr 2004)

Hallo!
Ich habe ein kleines Problem. Ich bekommen bei der methode rs.getString(0) einen fehler. und zwar erschöpfte ergebnismenge. Kann mir vielleicht jemand sagen woran das liege könnte? rs.GetRowCount() liefert mir 1 zurück.
danke corny


```
private String getRefId(String eid) {
    String sql = "Select refid from referate where eid =" + eid;
    Object refid = "";
    conn = ConnectionFactory.get();
    stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                 ResultSet.CONCUR_UPDATABLE);

    try {
      rs = stmt.executeQuery(sql);
      System.out.println(sql);
      if (rs != null) {
          refid = rs.getString(0);
      }
      System.out.println("refid: " + refid);
    }
    catch (SQLException e) {
      e.printStackTrace();
    }
    return refid;
  }
```



> java.sql.SQLException: Erschöpfte Ergebnismenge
> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
> ...


----------



## citizen_erased (8. Apr 2004)

stell dir die ergebnismenge als tabelle mit zeilen und spalten vor. du greifst auf die erste spalte zu. allerdings musst du erstmal in die erste zeile gelangen. das geschieht mit

```
rs.next()
```

einschlägige tutorials helfen dir weiter.


----------



## Guest (8. Apr 2004)

nein das ist es leider nicht! Ich erhalte immer noch den fehler erschöpfte ergebnismenge


```
private String getRefId(String eid) {
    String sql = "Select refid from referate where eid =" + eid;
    Object refid = "";

    try {
      rs = stmt.executeQuery(sql);
      System.out.println(sql);
      if (rs != null) {
        rs.next();
        refid = rs.getString(0);
      }
      System.out.println("refid: " + refid);
    }
    catch (SQLException e) {
      e.printStackTrace();
    }
    return refid;
  }
```


----------



## citizen_erased (8. Apr 2004)

ach ja.. anders als sonst, beginnt die erste spalte beim index 1 nicht bei 0
also:


```
getString(1)
```

war es das?


----------



## Corny (8. Apr 2004)

auch das löst mein problem leider noch nicht. ich verwende rs.next() und sage auch rs.getString(1); aber ich bekomme ich immer noch die exception erschöpfte ergebnismenge. getRowCount() liefert mir 1. und auch wenn ich die sql query "noraml" in meinem worksheet ausfürhe funktioniert diese. Also es kann auch nicht daran liegen das ich nicht zurückgeliefert gekomme. noch eine idee?


```
private String getRefId(String eid) {
    String sql = "Select refid from referate where eid =" + eid;
    String refid = "";

    try {
      rs = stmt.executeQuery(sql);
      System.out.println(getRowCount());
      System.out.println(sql);
      if (rs.next())
        refid = rs.getString(1);

      System.out.println("refid: " + refid);
    }
    catch (SQLException e) {
      e.printStackTrace();
    }
    return refid;
  }
```


----------



## citizen_erased (8. Apr 2004)

in welcher zeile wird die ausnahme geworfen?

ansonsten, deklariere mal das Statement und das ResultSet lokal in der methode.


----------

