Avatar billede svarrer Nybegynder
09. december 2004 - 16:34 Der er 4 kommentarer

java.SQLException:" Opbrugt resultatsæt

Hejsa..

Jeg har en Servlet, der kalder ned i en database og henter noget op..(en url til et billede). problemmet består i at det kun virker første gang jeg kalder servletten, hvis jeg herefter trykker på tilbage i browseren og vælger et andet link..(til samme side, men med andre parameter), så giver den følgende SQLException:" Opbrugt resultatsæt" ?!
Koden er placeret i doGet() metoden i servletten, og den tager også rigtigt imod de nye parameter.
lidt kode her:
ResultSet rs;
con = controller.getConnection();
Statement st = con.createStatement();
String sql ="SELECT bla bla bla image"
rs = st.executeQuery(sql);
imageURL ="test";
rs.next();
imageURL = rs.getString("IMAGE");

kan man "cleare" et resultatsæt, eller på andre måder initialisere det igen!? (det er vist et interface?!) Statementet burde jo bliver initialiseret igen for hvert kald?!

på forhånd tak
Christian
Avatar billede svarrer Nybegynder
09. december 2004 - 16:36 #1
...btw.. Jeg closer både resultsettet og statement længere nede i koden.
/Christian
Avatar billede arne_v Ekspert
09. december 2004 - 21:03 #2
rs.next();
imageURL = rs.getString("IMAGE");

bør vel kodes som:

if(rs.next()) {
  imageURL = rs.getString("IMAGE");
  ...
} else {
  // fortæl bruger at der ikke var nogen matches
}
Avatar billede svarrer Nybegynder
10. december 2004 - 10:05 #3
Det er korrekt, men selvom der rent faktisk eksistere data i databasen, "image", returnerer den bare selvsamme SQLException.
Avatar billede svarrer Nybegynder
10. december 2004 - 10:14 #4
Jeg har nu brugt en andens DB-framework, og det fungere..(skal ikke kunne sige hvorfor?!?!)..men tak for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester