update dve tabele istovremeno
28.06.2009. u 11:57 · pre 210 meseci
#1
Recimo da imam listu ciji elementi su iz jedne tabele, a da u DataGridView prikazujem podatke iz druge tabele povezane s ovom. Na primer u listBox-u su mi bendovi, a u DataGridView njihove pesme.
Problem nastaje kad pomocu TableAdapterManager-a dodam novi element u listu (preko bindingNavigatora koga generise Designer). E, sad, recimo da sam dodao M. Jacksona (
) na listu i istovremeno ubacio nekoliko njegovih pesama u DataGridView, desi se sledeca stvar:
Novi izvodjac dobija ID == -1. Kasnije, kad se ubaci u bazu, to se promeni na autoincrement value, ali za sada je to -1 (-2, -3..). U DataGridView ubacujem nove pesme za ovog izvodjaca, a one za Foreign Key dobijaju upravo taj ID, znaci one u koloni PevacID dobijaju -1 (a istovremeno svoj Primarni key dobijaju isto kao -1, -2...). Kada pokusam updateAll tableAdapterManager-a (za sta je on i zamisljen) program puca.
Zasto?
Samo da napomenem da ako unesem izvodjaca u bazu i on dobije normalan ID, posle mogu dodavati pesme bez problema (jer dobiju taj normalan foreign key) i sve je u redu. Zeleo bih ipak da sredim to da radi kako valja, jer mi je glupo da radim update pojedinih tabela redom kad je dobri Bili vec napravio pomagala koja nam omogucavaju da o tome ne razmisljamo. Rucno radjenje ovakvih stvari otvara nove probleme, posebno sto imam i jos jedan nivo relacija.
Guglanje problema ne vodi nigde, a MSDN vodi u krug...
Problem nastaje kad pomocu TableAdapterManager-a dodam novi element u listu (preko bindingNavigatora koga generise Designer). E, sad, recimo da sam dodao M. Jacksona (
Novi izvodjac dobija ID == -1. Kasnije, kad se ubaci u bazu, to se promeni na autoincrement value, ali za sada je to -1 (-2, -3..). U DataGridView ubacujem nove pesme za ovog izvodjaca, a one za Foreign Key dobijaju upravo taj ID, znaci one u koloni PevacID dobijaju -1 (a istovremeno svoj Primarni key dobijaju isto kao -1, -2...). Kada pokusam updateAll tableAdapterManager-a (za sta je on i zamisljen) program puca.
Zasto?
Samo da napomenem da ako unesem izvodjaca u bazu i on dobije normalan ID, posle mogu dodavati pesme bez problema (jer dobiju taj normalan foreign key) i sve je u redu. Zeleo bih ipak da sredim to da radi kako valja, jer mi je glupo da radim update pojedinih tabela redom kad je dobri Bili vec napravio pomagala koja nam omogucavaju da o tome ne razmisljamo. Rucno radjenje ovakvih stvari otvara nove probleme, posebno sto imam i jos jedan nivo relacija.
Guglanje problema ne vodi nigde, a MSDN vodi u krug...
Potpis
De si Deda...
Re: update dve tabele istovremeno