# Spaltenindex außerhalb gültigem Bereich



## buecherschrank (12. Okt 2007)

Hallo,
ich bin Neuling; ein Problem mit einer Schleife und dem rechtzeitigen stoppen über den Boolean-Wert mit  result.next()  kann ich nicht verstehen.
Es gibt nur 3 Spaltennamen (id, name, adresse) in "tabelle1", die probeweise ausgeben lassen will.
Ich verstehe nicht, warum die Iteration nicht rechtzeitig beendet wird.  .next() müsste doch beim vierten nicht vorhandenen Spaltenindex die Schleife stoppen lassen/false ausgeben.

Statt next() macht auch Methode isLast() den gleichen Fehler.
Auch die do-while Schleife hilft nicht.


```
statement = con.prepareStatement("select * from tabelle1");
          result = statement.executeQuery(); 

...
          int i=0;
          while (result.next()) {
        	  i++;
        	  s = result.getMetaData().getColumnLabel(i);
        	  // System.out.println(result.getMetaData().getColumnLabel(i));
        	  // System.out.println("> " + ColNames[i] + " ");
        	  System.out.println(" > " +s);
          }
...
```

Fehlermeldung:
> id
 > name
 > adresse
Exception in thread "main" org.postgresql.util.PSQLException: Der Spaltenindex 4 ist ausserhalb des gültigen Bereichs. Anzahl Spalten: 3.
	at org.postgresql.jdbc2.AbstractJdbc2ResultSetMetaData.getField(AbstractJdbc2ResultSetMetaData.java:418)
	at org.postgresql.jdbc2.AbstractJdbc2ResultSetMetaData.getColumnLabel(AbstractJdbc2ResultSetMetaData.java:160)
	at dbAbfragen.datenbankAbfrage4.nameAbfragen(datenbankAbfrage4.java:51)
	at dbAbfragen.datenbankAbfrage4.main(datenbankAbfrage4.java:76)


Danke für Hilfe,
bs


----------



## SlaterB (12. Okt 2007)

result.next() beziehst sich auf die Anzahl der Zeilen, der Einträge in der Tabelle,
was hat das mit den Spalten zu tun?


----------



## buecherschrank (12. Okt 2007)

ich habs geahnt...


----------

