2017-05-19 3 views
0

Es gibt eine Möglichkeit, die erste Zeile von ResultSet abzurufen, bevor die next() -Methode aufgerufen wird. Der Code ist so etwas wie:Werte aus ResultSet ohne Verwendung der next() -Methode abrufen

String idElementPrev = /*here I would get the element*/ 
while (rs.hasNext()) { 
    String idElement = rs.getInt("elementId"); 
    if (idElementPrev == idElement) { 
     //do something 
    } 
} 
+0

Was möchten Sie? Sie möchten die erste Zeile mit der zweiten vergleichen? Also lesen Sie einfach die erste Zeile außerhalb der While-Schleife (Sie müssen den Cursor vorwärts bewegen) und dann die Schleife – AxelH

+0

Weil ich mehrere gleiche Wert habe und ich ein neues Objekt nur erstellen muss, wenn das IDElement geändert wird –

Antwort

0

Sie ein Problem mit der Bedingung haben, Ihr Problem zu lösen Sie eine Liste verwenden können, und Sie können enthält überprüfen verwenden, wenn der Wert vorhanden ist oder nicht in der Liste, ist hier ein Beispiel:

List<int> list = ...; 
int idElement; 
while (rs.next) { 
    idElement = rs.getInt("elementId"); 
    if (list.contains(idElement)) { 
     //do this 
    }else{ 
     //do this 
    } 
} 
+0

Ich weiß es nicht die Elemente vorher. Ich denke, ich sollte next() verwenden, um das erste Element zu erhalten, und previous(), um den Cursor zurückzuspulen. Dann kann ich Schleife in rs.next() –

+0

@FedericoRampazzo verwenden Sie einfach eine Liste und führen Sie das erste Element in dieser Liste in der ersten Iteration, in der zweiten können Sie überprüfen, enthält und so ein –

+0

Richtig, danke –

Verwandte Themen