Avatar billede sorensen_dk Nybegynder
31. oktober 2004 - 11:43 Der er 5 kommentarer og
1 løsning

test om forespørgsel returnere et tomt ResultSet

hvordan kan man på en smart måde teste om det ResultSet man får tilbage fra en forespørgsel er tomt(altså indeholder 0 forekomster)?

den måde jeg behandler problemet på nu er således:

        try {
            rs.next();

            id = rs.getInt("id");

        } catch (SQLException e1) {
            /// hvis denne smider en fejl vil det sige at id ikke findes
                /// men kan også fange andre sql fejl hvilket ikke er så smart
        }
       
        if (id != 0) {

            idfindes = true;
        }

//pseudo
hvis idfindes == true vælges id hvis ikke oprettes et nyt id
Avatar billede kama Nybegynder
31. oktober 2004 - 12:04 #1
Hvad med at bruge hasNext() metoden på ResultSet?
Avatar billede sorensen_dk Nybegynder
31. oktober 2004 - 12:16 #2
det virker ikke på typen ResultSet...
Avatar billede ullesan Nybegynder
31. oktober 2004 - 12:19 #3
resultset har metoden next() (som du også bruger), som retunerer en boolean, så kunne du ikke tjekke med

if (!rs.next())
  // der var ingen forekomster
else
  id = rs.getInt("id");
Avatar billede ullesan Nybegynder
31. oktober 2004 - 12:21 #4
eller omvendt

if (rs.next())
  id = rs.getInt("id"); 
else
  // der var ingen forekomster

hvilket er vel mere foretrukket
Avatar billede sorensen_dk Nybegynder
31. oktober 2004 - 12:32 #5
det var lige præcis det jeg var ude efter mange tak :)

smid et svar og få points
Avatar billede ullesan Nybegynder
31. oktober 2004 - 12:32 #6
ok
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