Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Problem, oko automatskog generisanja sifri iz baze!?!

  • 3 odgovora
  • 3.141 pregleda

Najnovija ↓

Problem, oko automatskog generisanja sifri iz baze!?! 05.09.2006. u 13:00 · pre 245 meseci #1
Ovako, napravio sam jednu tabelu sa atributima:
Code:

CREATE TABLE LICA (
  ID_LICA TEXT NOT NULL,
  IME TEXT NOT NULL,
  PREZIME TEXT NOT NULL,
  
  CONSTRAINT pk_LICA PRIMARY KEY (ID_LICA));

Na formi za unos podataka u tu tabelu odradio sam automatsko dodeljivanje ID_LICA:
Code:

...
var rb:integer;
begin
   with ADOLICA do begin
     Close;
     SQL.Clear;
     SQL.Add('SELECT TOP 1 ID_LICA FROM LICA');
     SQL.Add('ORDER BY ID_LICA DESC');
     Open;
     if ADOLICA.RecordCount=0 then
       rb := 10001
     else
       rb:= StrToInt(ADOLICA.FieldByName('ID_LICA').AsString)+1;
  end;
    IDLICA.Text:=IntToStr(rb);
...

Sta je problem, ako ima u tabeli ID_Lica: 10001, 10002, 10003, ..., 1000n i obrisem 10003, tad
slogovi se ne sloze redom, odnosno za jedan unazad, a automatsko dodavajne se nastavlja od poslednjeg
broja (DESC)!?!

Sta mi savetujete?
Re: Problem, oko automatskog generisanja sifri iz baze!?! 05.09.2006. u 13:06 · pre 245 meseci #2
Logicno je da se nece svi ostali vratiti za jedan broj unazad... To moras sam da odradis tako sto ces proci kroz ostatak baze ( od obrisanog recorda pa na dalje ) i sam smanjiti ostalebrojeve za jedan.
Potpis
ex Strog

http://www.zeussoftware.rs
Re: Problem, oko automatskog generisanja sifri iz baze!?! 05.09.2006. u 15:34 · pre 245 meseci #4
> Znaci da svi slogovi ID_LICA se umanje za jedan, ali tad se narusava integritet baze!?!
> Tada i relacije u bazi se menjaju!?!

Koliko vidim tebi zapravo trebaju dva odvojena polja, jedno INTEGER koje će biti nosilac referencijalnog integriteta, koje se neće menjati i koje korisnik neće ni videti. I drugo polje USER_ID koji će kontrolisati korisnik i na kome možeš da lakše obezbediš kontinuitet.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme