[ milorads @ 26.03.2005. 12:11 ] @
uradio sam master-detail prikaz kroz dva dbgrida koji su povezani na adoquery komponente....
Problem je sledeci. Kada pokusam append ili insert na detail tabelu dobijem sledecu poruku greske "Field sifrainc cannot be modified"

Master tabela :
adoquery1.sql:
'select * from odeljenja'

Detail tabela
adoquery2.datasource:=datasource1
adoquery2.sql:
'select * from oprema where sifraodeljenja=:sifrainc'

znaci master-detail veza radi kod pregleda i updatea... ali ubacivanje tj insert i append u detail tabelu prikazuje gresku gore navedenu.
Zna li neko sta je u pitanju ili kako drugacije postaviti master detail dva query-ja preko ado-a a da sve to funkcionise...
[ Srki_82 @ 26.03.2005. 13:33 ] @
Po nazivu polja sifrainc pretpostavljam da je to neko autoinc polje. U njega ne mozes sam da upises sta zelis neko drajver za bazu radi to. U to polje nemoj da upisujes nista, a ako radis InsertRecord uradi ovako InsertRecord(Nil, 'fds',...) pod uslovom da je sifrainc prvo polje u tabeli.
[ milorads @ 26.03.2005. 15:08 ] @
Citat:
Srki_82: Po nazivu polja sifrainc pretpostavljam da je to neko autoinc polje. U njega ne mozes sam da upises sta zelis neko drajver za bazu radi to. U to polje nemoj da upisujes nista, a ako radis InsertRecord uradi ovako InsertRecord(Nil, 'fds',...) pod uslovom da je sifrainc prvo polje u tabeli.

Jeste u pitanju autoincrement polje koje je primarni kljuc u master tabeli...
i spaja se sa detail tabelom preko polja sifraodeljenja
parametarski...

Problem mogu da zaobidjem tako sto cu ubaciti kroz sql upit jedan upit tipa 'insert into oprema(sifraodeljenja) values (:sifraodeljenja)'
i onda da osvezim prikaz detail query-ja

ali ja sam hteo da klasicno u detail tabelu ubacim novi zapis sa recimo
adoqyery2.insert;
ili
adoquery2.append;

Znaci to bez problema radi tako kada se koristi master-detail sa dve adotable komponente ali kada idem preko dva adoquery-ja onda dobijam poruku greske...

Radio sam tako sa ZEOS komponentama i to je radilo ali sada me zeza u ADO... Inace ado moram da koristim zbog accessa posto zeos zeza sa svim sto nije SQL server (firebird, mysql...)
[ Srki_82 @ 26.03.2005. 15:14 ] @
Pa probaj da umesto ADOQuery koristis ADOTable sa filterima.
[ milorads @ 30.03.2005. 12:17 ] @
Nasao sam resenje...glupost...dzaba sam te zamarao :(
Izgleda da se adoquery buni ako spajam master-detail tabele koje imaju primarne kljuceve istog naziva... (spajanje radi ali kod inserta posle pravi problem).
Foreign key moze biti bilo kog naziva ali primary mora da se razlikuje...
U zeosu to nije predstavljalo problem...
Izmenio sam nazive primary-ja i sve radi OK

Hvala na odgovorima