# Methode .next() - das Rätsel für Experten! URGENT



## berny (15. Jul 2004)

hallo

wieso funktioniert dann dieser code nicht?


```
try {
            Class.forName("org.gjt.mm.mysql.Driver");
            Connection db = DriverManager.getConnection("jdbc:mysql://localhost:3306/quoting");
            Statement s = db.createStatement();
                     
            ResultSet[] rs = new ResultSet[2];
            rs[0] = s.executeQuery("select id from customer");
            rs[1] = s.executeQuery("select id from customer");                
                
            int i = 0;    

            // JETZT WIRDS INTERESSANT !
            while(rs[i].next()){                    
                System.out.println( "" + rs[i].getInt(1) );
                // soll nur immer zwischen rs1 und rs2 wechseln
                if(i==0) i++;
                else i--;
            }
        }
        catch (Exception e) {
            System.out.println(e.toString());
        }
```

jetzt nicht über die sinnhaftigkeit muckieren... es hat keinen...

ich dachte immer der "zeiger" den man mit .next() immer eines vorsetzt sei im resultset...
jetzt hab ich zwei resultsets und rufe in der while schleife abwechselnd einmal rs1.next() und rs2.next() auf, was ja  bei 5 einträgen in der tabelle customer, rs1 + rs2 = 10 ergeben sollte:

ablauf:
rs1 1. datensatz
rs2 1. datensatz
....
rs1 5. datensatz
rs2 5. datensatz

rs1 kein datensatz mehr ... .next() = false ... spring raus

jedoch geht er nicht einmal mehr in die while schleife...

also wenn mir da jemand die hintergründe erklären, und eventuell eine lösung... wäre ich sehr dankbar!

mfg, berny


----------



## semi (15. Jul 2004)

Schon mal die Beschreibung von Statement in API-Docs gelesen? :wink:


> *By default, only one ResultSet object per Statement object can be open at the same time.* Therefore, if the reading of one ResultSet object is interleaved with the reading of another, each must have been generated by different Statement objects. All execution methods in the Statement interface implicitly close a statment's current ResultSet object if an open one exists.


----------



## Guest (16. Jul 2004)

danke semi!

ich hab leider nix gefunden, sonst hätte ich nicht gefragt ... und ich hatte mir schon sowas gedacht und auch damit experimentiert, jedoch ist mir dann der geduldsfaden gerissen und da hab ichs hier probiert...

ich glaub jetzt funkts... wenn ja dann widme ich den code dir*G

berny


----------

