2009-04-22 5 views

Antwort

4

Sie verwenden sollten: isLast() statt.

Warnung, nicht alle JDCB-Treiber unterstützen diese Funktion. Natürlich müssen Sie es bei Ihrer Installation überprüfen.

Die meisten großen DB funktionieren gut.

Der feste Code sollte so aussehen.

if(rs.isLast()) { 
    // do last record processing 
} 
2

Persönlich würde ich die Variablen deklariert, die aus der Abfrage außerhalb der Schleife abgerufen werden, und führen Sie dann die „letzte Satzverarbeitung“ nach der Schleife.

ResulSet rs = stmt.executeQuery(); 
long primaryKey; 

while (rs.next()) { 
    primaryKey = rs.getLong(1); 
    .... //do regular processing 
} 

// Do last record processing. 
System.out.println("last primary key = " + primaryKey); 
2

No: rs.last() wird tatsächlich den Cursor in die letzte Zeile in der Ergebnismenge senden, die auf jeden Fall nicht das, was Sie tun möchten. Sie würden nur maximal 2 Zeilen (erste und letzte) von der Ergebnismenge verarbeiten.

Verwandte Themen