java.sql.SQLException: Illegal operation on empty result set
HejsaNår jeg kører understående metode, så får jeg fejlen:
dbLogger 2005-11-02 11:26:25,051 ERROR Database.getForumTraad() - SQLEception: java.sql.SQLException: Illegal operation on empty result set.
er der nogen der har en ide om, hvad der er galt? jeg må have stirret mig blind på et eller andet...
Når jeg blot kører SQL'en direkte mod db(med et id istedet for ?), da får jeg fint et resultat
På forhånd tak, mvh
Torben
public synchronized ForumTraad getForumTraad(String id)
{
ForumTraad ft = null;
try
{
connGetForumTraad = DriverManager.getConnection("jdbc:apache:commons:dbcp:banankasse");
pstmGetForumTraad = connGetForumTraad.prepareStatement("SELECT id, svarPaaId, fk_brugernavn, sidsteSvarFK_brugernavn, besked, overskrift, regDato, sidsteSvarDato FROM BKForum WHERE id=?");
pstmGetForumTraad.setString(1, id);
rsGetForumTraad = pstmGetForumTraad.executeQuery();
if(rsGetForumTraad.next());
{
ft = new ForumTraad();
ft.setId(rsGetForumTraad.getInt("id"));
ft.setSvarPaaId(rsGetForumTraad.getInt("svarPaaId"));
ft.setFk_brugernavn(rsGetForumTraad.getString("fk_brugernavn"));
ft.setSidsteSvarFK_brugernavn(rsGetForumTraad.getString("sidsteSvarFK_brugernavn"));
ft.setBesked(rsGetForumTraad.getString("besked"));
ft.setOverskrift(rsGetForumTraad.getString("overskrift"));
ft.setRegDato(rsGetForumTraad.getString("regDato"));
ft.setSidsteSvarDato(rsGetForumTraad.getString("sidsteSvarDato"));
}
}
catch(SQLException e)
{
dbLogger.error("Database.getForumTraad() - SQLEception: "+e);
}
finally
{
try
{
if(rsGetForumTraad!=null) rsGetForumTraad.close();
if(pstmGetForumTraad!=null) pstmGetForumTraad.close();
if(connGetForumTraad!=null) connGetForumTraad.close();
}
catch(SQLException e)
{
dbLogger.error("Database.getForumTraad() - Problemer i finally med rsGetForumTraad.close(), pstmGetForumTraad.close(), og/eller connGetForumTraad.close(): "+e);
}
}
return ft;
}
