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.
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
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.
Code:
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