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

Table Adapteri, Update povezanih tabela

[es] :: .NET :: Table Adapteri, Update povezanih tabela

[ Pregleda: 1946 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mikelly

Član broj: 16730
Poruke: 389
*.crnagora.net.



Profil

icon Table Adapteri, Update povezanih tabela06.10.2007. u 14:11 - pre 201 meseci
Imam jedan tipiziran dataset sa 4 povezane tabele. U konkretnom primjeru koristim dvije tabele (master i slave). Za pristup podacima koristim table adaptere.

Problem se javlja prilikom update-a. Naime, kad update-ujem stare podatke nema problema, ali kad unesem novi zapis u master tabelu i nekolika zapisa u slave tabelu prijavi gresku sql servera.

Ja uradim sledece:
this.kalktableadapter.update(kalkdataset.kalk);
this.datatableadapter.update.(kalkdataset.data);

Prijavljuje kao da ne postoji foreign_key u master tabeli i zato sql server odbija da upise podatke.

Ako dodam novi zapis u master tabelu i odmah odradim update pa tek onda dodajem zapise u slave tabelu nema greske, ali kada prirodno dodajem podatke uvijek prijavljuje ovu gresku.

E sad, da li ja moram prije svakog ubaciavanja slave podataka prvo master podatke upisivati u bazu (ovo mi zvuci bzvz) ili ima neko rjesenje ili ja pravim neki previd...

Pozdrav.
 
Odgovor na temu

bjevta
Bratislav Jevtic
http://www.tojesoft.co.rs
Beograd

Član broj: 5216
Poruke: 367
*.dynamic.sbb.co.yu.

Sajt: www.tojesoft.co.rs


+5 Profil

icon Re: Table Adapteri, Update povezanih tabela06.10.2007. u 16:40 - pre 201 meseci
U slučaju kada treba snimiti više povezanih tabela, predlažem ručno baratanje adapterima. Ako se dobro sećam, redosled insert/update/delete operacija koji je MS predvideo po default-u i nije baš najlogičniji. Cenim da bi najpraktičnije bilo prvo odraditi delete, zatim update, pa na kraju insert.

Operaciju brisanja treba sprovoditi od tabela na dnu hijerarhije (detail u master/detail konceptu), kod update-a treba voditi računa da li je relacija u bazi sa kaskadnim update-om (obično jeste) da se ne bi javio "concurency violence exception" (zaboravih kako se tačno zove), dok je insert najbolje započeti od master tabele.

Dakle, redosled operacija:
1.a delete detail
1.b delete master
2.a update master
2.b update detail
3.a insert master
3.b insert detail
Acta, non verba!
 
Odgovor na temu

[es] :: .NET :: Table Adapteri, Update povezanih tabela

[ Pregleda: 1946 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

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