Mam pytanie - czy wyszukiwanie rekordów lepiej realizowac przy pomocy if Exist,czy ?,mam np. listę rekordów danej tabeli i potrzebuje wyszukac te z zadanymi cechami,np. jakiejś osoby,po podaniu imienia i nazwiska mam znaleśc cały rekord w bazie danych imie,nazwisko i dane dodatkowe,oczywiście nie wiem czy rekordy w bazie istnieją,jeśli nie w Javie mam wyświetlic komunikat “nie znaleziono”,itp.
Normalnie dajesz mysql_fetch_row(…) i jeżeli nie dostałeś żadnego to znaczy że nie znaleziono, przeważnie daje się to w pętli ponieważ może być kilka rekordów spełniających podane kryteria, więc jeżeli w pętli nie wypisałeś żadnego rekordu to nic nie znaleziono.
Myślę że jeszcze można wykorzystac zmienna zliczajaca
iwiersz=0;
Connection polaczenie=getConnection(“Driver”,“user”,“pass”);
Statement rs=polaczenie.CreateStatement(" * from filmy");
while (rs.next())
{
iwiersz++;
}
if iwiersz=0
{
System.out.println(“Nic nie znaleziono”);
}
Myślę,jeśli nie będzie rekordu spełniającego kryteria petla while sie nie wykona i zmienna wskazujaca licznik wierszy będzie równa 0
Dobrze myślisz, właśnie to miałem na myśli, z tym że wystarczy zmienna logiczna:
nieznaleziono=true;
...
while (rs.next())
{
nieznaleziono=false;
}
if(nieznaleziono)
{
...
}
Problem numer2
Jak sprawdzic,czy hasło i login podane przez użytkownika są prawidłowe,czy konieczne jest wysłanie specjalnego zapytania do bazy ?