Pozdrav :)
Ispade roman od poruke ali molim vas procitajte do kraja
Mislim da cu primjerom najbolje objasniti problem:
Dakle, neka tabela u .gdb bazi ima kolone ID, IME, PREZIME
IME i PREZIME unosi korisnik aplikacije (radjene u builder-u) a ID je AutoIncrement o kojem brine AfterInsert-triger u samoj bazi
Na formi su TIB komponente koje se vezu na bazu bez koriscenja BDE-a: IBTable1, IBDatabase1, IBTransaction1 i DataSource1 i DBGrid1.
Nakon podizanja aplikacije sve izgleda u redu, IBTable1 povuce sve podatke iz baze, ali ako korisnik unese "Ime" i "Prezime" a polje "ID" (kojem je u Fields Editoru postavljeno Required=false) ostavi prazno, nakon:
IBTable jednostavno ne vidi vrijednost novog ID-a, tj vidi se uneseno ime i prezime ali ID kao da je NULL
Probao sam sa
ali problem je ostao!?
Kad bazi pristupim iz npr. IBExpert-a, vidi se da su svi podaci tu ali ih bilder-aplikacija ne vidi sve dok se ne restartuje...
Jedini nacin koji sam nasao da natjeram IBTable1 da vidi novu vrijednost ID-a bez restartovanja aplikacije je prilicno ljakse:
CachedUpdates su podeseni na false
Pretpostavljam da tu ima caka koju ja (ocito) ne znam... Ovo mi je oduzelo vec dosta vremena, please help!
Hvala na strpljenju
Tica
Ispade roman od poruke ali molim vas procitajte do kraja
Mislim da cu primjerom najbolje objasniti problem:
Dakle, neka tabela u .gdb bazi ima kolone ID, IME, PREZIME
IME i PREZIME unosi korisnik aplikacije (radjene u builder-u) a ID je AutoIncrement o kojem brine AfterInsert-triger u samoj bazi
Na formi su TIB komponente koje se vezu na bazu bez koriscenja BDE-a: IBTable1, IBDatabase1, IBTransaction1 i DataSource1 i DBGrid1.
Nakon podizanja aplikacije sve izgleda u redu, IBTable1 povuce sve podatke iz baze, ali ako korisnik unese "Ime" i "Prezime" a polje "ID" (kojem je u Fields Editoru postavljeno Required=false) ostavi prazno, nakon:
Code:
IBTable1->Post();
IBTable1->Post();
IBTable jednostavno ne vidi vrijednost novog ID-a, tj vidi se uneseno ime i prezime ali ID kao da je NULL
Probao sam sa
Code:
IBTable1->Post();
IBTransaction1->CommitRetaining();
IBTable1->Refresh();
IBTable1->Post();
IBTransaction1->CommitRetaining();
IBTable1->Refresh();
ali problem je ostao!?
Kad bazi pristupim iz npr. IBExpert-a, vidi se da su svi podaci tu ali ih bilder-aplikacija ne vidi sve dok se ne restartuje...
Jedini nacin koji sam nasao da natjeram IBTable1 da vidi novu vrijednost ID-a bez restartovanja aplikacije je prilicno ljakse:
Code:
IBTable1->Post();
IBTable1->Active=false;
IBTable1->Active=true;
IBTable1->Post();
IBTable1->Active=false;
IBTable1->Active=true;
CachedUpdates su podeseni na false
Pretpostavljam da tu ima caka koju ja (ocito) ne znam... Ovo mi je oduzelo vec dosta vremena, please help!
Hvala na strpljenju
Tica