Novo

Forum kao aplikacija na telefonu

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

  • 1 odgovor
  • 2.362 pregleda

Najnovija ↓

Table Adapteri, Update povezanih tabela 06.10.2007. u 15:11 · pre 232 meseca #1
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.
Re: Table Adapteri, Update povezanih tabela 06.10.2007. u 17:40 · pre 232 meseca #2
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
Potpis
Acta, non verba!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme