Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem, oko automatskog generisanja sifri iz baze!?!

[es] :: Pascal / Delphi / Kylix :: Problem, oko automatskog generisanja sifri iz baze!?!

[ Pregleda: 2171 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

inherited
Novi Sad

Član broj: 95516
Poruke: 219
*.neobee.net.



Profil

icon Problem, oko automatskog generisanja sifri iz baze!?!05.09.2006. u 12:00 - pre 183 meseci
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?
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.229.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: Problem, oko automatskog generisanja sifri iz baze!?!05.09.2006. u 12:06 - pre 183 meseci
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.
 
Odgovor na temu

inherited
Novi Sad

Član broj: 95516
Poruke: 219
*.neobee.net.



Profil

icon Re: Problem, oko automatskog generisanja sifri iz baze!?!05.09.2006. u 13:51 - pre 183 meseci
OK, al, primer bi mi vise pomogao.
Znaci da svi slogovi ID_LICA se umanje za jedan, ali tad se narusava integritet baze!?!
Tada i relacije u bazi se menjaju!?!
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2667



+73 Profil

icon Re: Problem, oko automatskog generisanja sifri iz baze!?!05.09.2006. u 14:34 - pre 183 meseci
> 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.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Problem, oko automatskog generisanja sifri iz baze!?!

[ Pregleda: 2171 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.