Avatar billede Slettet bruger
11. december 2001 - 18:52 Der er 4 kommentarer og
1 løsning

Test af tomt resultset

Jeg har brug for at vide om et resultset fra en database er tom eller ej uden at påvirke sættet. Kan dette lade sig gøre og i så fald, hvordan?
Jeg vil teste sættet og i tilfælde at det er tomt, skal en anden hentes. Hvis det ikke er, så kører programmet videre og sættet bliver behandlet et andet sted.
Avatar billede greybeard Nybegynder
11. december 2001 - 19:30 #1
Resulset rs;

some code:

if rs.next()
do something;
rs.beforeFirst;

next() returnerer boolsk om der er flere rows.
hvis der er flere rows, bliver cursoren flyttet, så for at komme tilbage til udgangpunktet, kaldes beforeFirst(), der placerer cursoren før den første row, hvor den oprindeligt befinder sig.

Du kan jo også bruge:
SELECT COUNT (*)....
på databasen for at teste om resultsettet bliver tomt, før du henter det.
Avatar billede erikjacobsen Ekspert
11. december 2001 - 19:31 #2
Jeg mener at vide at ikke alle drivere understøtter rs.beforeFirst();
Men man kan jo prøve :)
Avatar billede erikjacobsen Ekspert
11. december 2001 - 19:31 #3
Det jeg egentlig ville sige: ikke alle drivere understøtter at man kan
bevæge sig baglæns i et ResultSet...
Avatar billede greybeard Nybegynder
11. december 2001 - 19:37 #4
Tak.
Håber ikke Eriks kommentar er relevant i dit tilfælde:-)
Avatar billede erikjacobsen Ekspert
11. december 2001 - 19:57 #5
Man ved aldrig :) Men check evt. dokumentationen på
http://java.sun.com/j2se/1.4/docs/api/java/sql/ResultSet.html
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