debugger... boolean primitywny zawsze bedzie false :) więc to że false działa wgl może powodować, że zmienna :
- nie ma wartości więc jest false jako prymityw
- wynik zapytania jest błedny stąd 0 - > tez jest false
- inny czynnik po prostu nieudanej operacji :) - > narzędzie debugger.
Druga sprawa program nie sprawdza tego na bierząco ...
while (result.next()) {
isAvailable = result.getBoolean("available");
System.out.println(isAvailable);
}
dopiero jak przeleci przez wszystkie rekordy w pętli
/*if (isAvailable) {
preparedStatement = connection.prepareStatement("insert into rentcar" + "(brand,namee,surname,rentDate,clientNumber)" + "values(?,?,?,?,?)");
preparedStatement.setString(1, rentingACar.getBrand());
preparedStatement.setString(2, rentingACar.getName());
preparedStatement.setString(3, rentingACar.getSurname());
preparedStatement.setString(4, rentingACar.getRentDate());
preparedStatement.setInt(5, rentingACar.getClientNumber());
preparedStatement.executeUpdate();
preparedStatement = connection.prepareStatement("update car " + " set available='0'" + " where brand= ? ");
preparedStatement.setString(1, rentingACar.getBrand());
preparedStatement.executeUpdate();
} else {
System.out.println("There is no " + rentingACar.getBrand() + "in our car rental!");
}*/
wykona się to? A co jeśli ostatni rekord bedzie false?
isAvailable = result.getBoolean("available");
wtedy to zawsze bedzie false / to samo w przypadku kiedy nie wykona się nic- rzadne polecenie
boolean isAvailable; // set? but not used? nie do końca - if zostanie pominięty tak czy siak null pointer nie bedzie bo boolean jest prymitywny