Avatar billede aslan Nybegynder
16. juni 2002 - 09:32 Der er 6 kommentarer og
2 løsninger

Spørge om række findes i db

Jeg bruger denne når jeg skal spørge om række findes i php og mysql:
if (mysql_num_rows($result) == 1)

Hvordan gør man tilsvarende i interbase og java?
Avatar billede prom Nybegynder
16. juni 2002 - 09:59 #1
Jeg kender ikke noget til php, men har lidt kendskab til Interbase og java, så beskriv lige i menneskesprog hvad >>if (mysql_num_rows($result) == 1)<< gør!

Har du installeret driver til Interbase?
Har du fået forbindelse til Interbase?

prom
Avatar billede aslan Nybegynder
16. juni 2002 - 10:33 #2
Ja alt virker som det skal, men jeg kan bare ikke få java til at tjekke om en bestemt række eksistere i db...
Jeg har forsøgt således:

    boolean tjeck()
    {


        ResultSet row = hentRes.tjeckStatus(
                                          new Integer(værelseNr.getText()).intValue()
                                          );
              if(row == null)
              {
                  felt.append("Værelset du forsøger at lave en reservation på eksistere ikke \n");
                  return false;
              }

        return true;
    }
Avatar billede prom Nybegynder
16. juni 2002 - 10:44 #3
Et resultset returnerer aldrig null.

prom
Avatar billede aslan Nybegynder
16. juni 2002 - 10:45 #4
jamen hvad returnere den så hvis den ikke finder noget?
Avatar billede prom Nybegynder
16. juni 2002 - 10:56 #5
Du kan bruge metoden:
public boolean first() throws SQLException
    Moves the cursor to the first row in this ResultSet object.
    Returns: true if the cursor is on a valid row; false if there
            are no rows in the result set

if(row.first)
  return true;
else
  return false;
Avatar billede disky Nybegynder
16. juni 2002 - 11:05 #6
aslan:

Et resultset kan ALDRIG være null, når du har fået det fra din MySQL driver det siger API'en

Hvis du f.eks. "sender en 'select ID from TABLE where ID="+id;

til basen, siger du bagefter

if(row.next())
{
//den fandtes
}
else
{
//den fandtes ikke
}
Avatar billede prom Nybegynder
16. juni 2002 - 11:05 #7
Din metode hentRes.tjeckStatus(...) returnerer et resultset der er tomt, men ikke null.
Jeg er ikke helt sikker på hvordan data er opbevaret i et resultset, men jeg kunne forestille mig at det er to vektorer der holder styr på data.
  1) Metadata: En enkelt vektor.
  2) Data    : En vektor af vektorer.

prom
Avatar billede prom Nybegynder
16. juni 2002 - 11:09 #8
Det er rigtigt at både metoden first() og next() kan bruges, hvilken en du skal bruge er op til dig Aslan.

Tænk hvilken valgfrihed java tilbyder os...

prom
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