Avatar billede jonas82 Nybegynder
05. juni 2005 - 21:53 Der er 7 kommentarer og
1 løsning

Execute statement inden i rs.next() løkke

rs = stmt.executeQuery(sql);
            while(rs.next()) {
            stmt.execute("anden sql hvor rs indgår")
}

Får denne fejl:
java.sql.SQLException: Operation not allowed after ResultSet closed

Må man ikke gøre sådan som det kode jeg har vist?
Avatar billede arne_v Ekspert
05. juni 2005 - 21:59 #1
nej

Connection con1 = DriverManager.getConnection(...);
Connection con2 = DriverManager.getConnection(...);
Statement stmt1 = con1.createStatemenet();
Statement stmt2 = con2.createStatemenet();
ResultSet rs = stmt1.executeQuery(...);
while(rs.next()) {
    ...
    stmt2.executeUpdate(...);
}
rs.close();
Avatar billede jonas82 Nybegynder
05. juni 2005 - 22:07 #2
Ok tak.

if(stmt.execute(sql)) {
...
}

... bliver ikke udført, selvom jeg kan se at queryen er udført. Burde execute ikke returnere true?
Avatar billede arne_v Ekspert
05. juni 2005 - 22:22 #3
execute returnerer true hvis det er en query og false hvis det er en update

som hovedregel: brug aldrig execute til normal SQL - altid executeQuery eller executeUpdate
Avatar billede arne_v Ekspert
05. juni 2005 - 22:22 #4
og et svar
Avatar billede jonas82 Nybegynder
05. juni 2005 - 22:25 #5
Takker
Avatar billede jonas82 Nybegynder
05. juni 2005 - 22:25 #6
Fedt svar tidspunkt i øvrigt :-)
Avatar billede arne_v Ekspert
05. juni 2005 - 22:29 #7
:-)
Avatar billede arne_v Ekspert
05. juni 2005 - 22:29 #8
jeg bruger kun execute sammen med CallableStatement og StoredProcedures
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