Sprawdzanie czy wartość jest już w tabeli

Sprawdzanie czy wartość jest już w tabeli
Michałek
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 6 lat
  • Postów:1
0

Siemka potrzebuję pomocy. Mam program w javafx hibernate i polega on tam na dodawaniu samochodów do bazy danych itd itd. I podczas dodawania samochodu mam textField "Numer Rejestracyjny" i mam w tabeli kolumnę "Numer Rejestracyjny". I chcę zrobić coś takiego że jeżeli ktoś dodając samochód wpisze w textField numer rejestracyjny który jest już w bazie to żeby wyskoczył komunikat np "Nie możesz dodać samochodu ponieważ taki numer rejestracyjny już istnieje w bazie". Mam wizję żeby zrobić to w if tak samo jak robiłem sprawdzanie czy textFieldy nie są puste i czy np w cenie ktoś nie wpisał liter. Zastanawiałem się czy by nie stworzyć funkcji boolean która by sprawdzała mi w bazie danych czy istnieje taki obiekt już przy pomocy polecenia LIKE i jeżeli istnieje to przyjmuje wartość true a jeśli nie to wartość false i potem w if dać że if(funkcjaboolean!=true) to wykonuje to co ma zrobić else(wyswietla informacje ze istnieje taki samochód). Tylko nie wiem jak sie za to zabrać

YO
  • Rejestracja:ponad 11 lat
  • Ostatnio:prawie 3 lata
  • Postów:540
0

Zrób tak, że ściągasz z bazy selectem wszystkie nr rej.
I sprawdzasz czy wpisywany istnieje w źródle danych w jakim zapisujesz to dajesz błąd i tyle

Kopiuj
$zapytanie = "SELECT id FROM samochody WHERE rejestracja = ?" ;

coś takiego do sql


Dziura w ścianie gdzie Panowie widzą Panie,
Rick and Morty, season 1.
Szukam tej dziury, jak coś dajcie znać gdzie jest :D "A z Ciebie c**** pisowski" - Ula Papuszko (w sensie, że JA) 05.06.2020 r., grupa: Strajk Przedsiębiorców. Witam zatem, jestem c**** pisowski ;)
edytowany 1x, ostatnio: youmound
Michałek
No też o tym myślałem ale nie mam pomysłu jak to zapisać w kodzie
YO
zapytanie Ci dałem a co ptem w tym java .. pewnie jakoś to ściągnąć pewnie są do tego jakieś funkcje
Michałek
No właśnie dotąd sam ogarniam tylko teraz chodzi o tę funkcję w javie zeby to ogarnąć
TI
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 3 lata
  • Postów:66
0

Możesz w procedurze zapisującej obiekt to sprawdzić za pomocą dodatkowego zapytania do bazy.
Jeżeli jest duplikat, to procedura zapisująca zgłasza wyjątek (Exception).
Następnie na GUI wyświetlasz komunikat w zależności od tego, czy wyjątek wystąpił, czy nie.

Michałek
w jaki sposób mogę to zrobić?
TI
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 3 lata
  • Postów:66
0

Skoro umiesz zapisać obiekt w bazie przy pomocy Hibernate, to zapewne umiesz też zrobić zapytanie o obiekt spełniający pewne warunki. Jeżeli nie, to polecam lekturę:
https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.html

To, czy będziesz sprawdzał przy zapisie, czy przy zmianie wartości w polu, to zależy od Ciebie. Z tego co doczytałem, masz już walidację pól -- wystarczy dodać kolejną, która będzie się komunikowała z bazą danych.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.