[C# ADO] Problem natury teoretyczno-praktycznej. i Update()

0

Czesc Wam

Mam takie zadanko:

Zalozmy ze sa 3 tabele :

  • Pracownicy (id_pracownika, nazwa, adres)
  • Doswiadczenie (id_doswiadczenia, jakie, gdzie)
  • Pracownik_doswiadczenie (id_pracownika, id_doswiadczenia)

Z ostatniej tabeli korzystamy aby mozna bylo przechowac kilka 'doswiadczen' dla jednego pracownika...
na razie chyba wszystko jasne .. ;d

Idziemy dalej :
Mamy sobie DataSet z tabelami : Pracownicy, Doswiadczenie, Pracownik_doswiadczenie
mamy tez odpowiedni adapter uzupelniane przez FillBy w zaleznosci od id_pracownika (najpierw zlaczenie INNER JOIN tabel Doswiadczenie i Pracownik_doswiadczenie) - tez oczywiste, otrzymujemy tabele z doswiadczeniami tylko danego pracownika

teraz :
Dla danego Pracownika chcemy utworzyc doswiadczenie :

  • dodajemy nowy wiersz, wypelniamy, dodajemy do adaptera, wszystko super.
  • teraz jeszcze pozostaje dodanie wpisu do tabeli Pracownik_doswiadczenie - jednak jest problem...

Problem :
Dane na ktorych operuje sa w adapterze, po dodaniu doswiadczenia (3 linijki wyzej) adapter tworzy wiersz, ale nie jest w tym momencie znany id_doswiadczenia ktory jest generowany automatycznie przez baze (auto_increment), wiec nie jestem w stanie 'przewidziec' jaka wartosc przypisac do tabeli Pracownik_doswiadczenie w polu id_doswiadczenia.

sam adapter przydziela kolejno id_doswiadczenia : -1, -2....

Nie moge tez zczytac wartosci id_doswiadczenia z adaptera, zwiekszyc o 1 i zapisac, gdyz ktos w miedzy czasie moze dodac jakies doswiadczenie, czy skasowac ostatnie, i bedzie problem z aktualizacja.

Jezeli wiecie o co mi chodzi to piszcie, jak nie wiecie to tez piszcie to wyjasnie ;)

pzdr.

0

Nie wiem czy dobrze rozumiem, ale możesz np. napisać procedurę w bazie która zapisze rekord doświadczenie i a zwróci id tego rekordu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1