Hallo zusammen,
ich hab da ein kleines Problemchen mit einer SQL-Verbindung zu meinem MS SQL Server mit jtds.
Und zwar starte ich eine Verbindung wie folgt:
DBdriver = "net.sourceforge.jtds.jdbc.Driver";
DBurl = "jdbc:jtds:sqlserver://" + SQLServer + ":" + SQLPort + "/" + SQLDBName;
Class.forName(DBdriver);
conn = DriverManager.getConnection(DBurl, SQLLogin, SQLPWD);
dann setze ich ein select ab:
st = conn.createStatement();
rs = st.executeQuery("select * from Tabelle1");
Hier bekomme ich auch wunderbar 4 Datensätze aus meiner Tabelle1 zurück.
Nun will ich mit einem weiteren statement andere Datensätze bekommen.
while (rs.next()) {
st2 = conn.createStatement();
rs2 = st2.executeQuery("select * from Tabelle2 where id = " + rs.getString("ID");
while (rs2.next()) {
System.out.println("Value: " + rs2.getString("Name"));
}
}
Komischerweise bekomme ich die Meldung "No current row in the ResultSet." in der Zeile System.out.println("Value: " + rs2.getString("Name"));
wie kann denn das sein? Schaue ich mit dem SQL-Manager auf die Tabelle gibt es aber Datensätze. Und wenn ich das "where" aus der zweiten select-Sache weglasse müsste ja definitiv etwas zurückgegegeben werden.
Hat jemand einen Tip?
geschrieben von
joerg1
,
10.03.2006, 11:31 Uhr
, 16 mal gelesen