modyfikacje w bazie danych

0

Witam. Jest sobie baza danych klientow:

procedure TForm1.TworzTabeleKlientow;
begin
 with Table1 do
  begin
   DatabaseName:='';
   TableName:='klienci';
   TableType:=ttParadox;
   FieldDefs.Add('ID klienta',ftInteger, 0, True);
   FieldDefs.Add('Nazwisko',ftString,30,True);
   FieldDefs.Add('Imie',ftString,30,True);
   FieldDefs.Add('Samochod',ftString,10,True);
   FieldDefs.Add('Kod pocztowy',ftString,6,True);
   FieldDefs.Add('Miejscowosc',ftString,30,True);
   FieldDefs.Add('Ulica',ftString,20,True);
   FieldDefs.Add('Numer domu',ftString,10,True);
   IndexDefs.Add('','ID klienta',[ixPrimary,ixUnique]);
   IndexDefs.Add('IndexNazw','Nazwisko;Imie',[ixCaseInsensitive]);
   IndexDefs.Add('IndexSamo','Samochod',[ixCaseInsensitive]);
   CreateTable; {utworzenie tabeli bazy danych o powyższej definicji}
   Open; {otwarcie tabeli bazy danych}
   Edit; {ustawienie tabeli bazy danych w trybie edycji}
  end; {with Table1 do}
end; {procedure TForm1.TworzTabeleKlientow;}

Chcialbym, aby po dodaniu kolejnego rekordu do bazy danych byla automatycznie uzupelniania (o kolejny numer porzadkowy) kolumna "ID klienta". Bo teraz gdy np. w bazie istnieje rekord z "ID klienta" o numerze "1" i dodam kolejny rekord z tym samym numerem wyskakuje blad "Key volation" Chcialbym aby zamiast tego, pole to bylo uzupelniane o kolejny numer, albo chociaz wyskoczyla informacja "ID istnieje, nadaj kolejny numer".

Druga rzecz to taka, ze wszystkie pola w bazie musza byc wypelnione (wlasciwosc "True"). Lecz gdy
pomine ktoras kolumne to wyskakuje info "field 'samochod' must have a value". Chcialbym aby sie
pojawil komunikat, np. "wszystkie pola musza byc wypelnione".

Prosze o jakas lopatologiczna sugestie, bo z delphi jestem raczej poczatkowy. Musze zrobic ten program na zaliczenie a wykladowca "doczepil" sie do komunikatow po angielsku :(

0

jeżeli ID jest autoincrement to pomijasz jego wstawianie, bo o właściwy numer troszczy się baza. Co do komunikatów. Opaku to w try..except i tam poprzez ShowMessage lub MessageBox podaj komunikat.

0
Oleksy_Adam napisał(a)

jeżeli ID jest autoincrement to pomijasz jego wstawianie, bo o właściwy numer troszczy się baza. Co do komunikatów. Opaku to w try..except i tam poprzez ShowMessage lub MessageBox podaj komunikat.

Dzieki za szybka ospowiedz. Jak napisalem wyzej jestem raczej poczatkujacym w Delphi. Nie za bardzo rozumiem o co chodzi z "autoincrement". Mozesz mnie bardziej nakierowac co mam poparwic/dopisac?

Nie wiem czy nie popelniles literowki, czy to jakis skrot ktorego nie znam, bo "opak" mi nic nie mowi. O co dokladnie chodzi ?

O co chodzi z "try..except" ? Mam rozumiec ze musze stworzyc jakas procedure i tam osadzic komponenty "ShowMessage" lub "MessageBox"?

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