Sprawdzanie czy wartość jest już w tabeli

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ć

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

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

coś takiego do sql

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.

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1