B
berny
Gast
hallo
wieso funktioniert dann dieser code nicht?
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
wieso funktioniert dann dieser code nicht?
Code:
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