Baza danych C# - Combobox

0

Witam! Mam taki problem... Piszę program w C# w Visualu 2010. Jest to lista kontaktów. Chciałabym aby poza nazwiskiem, imieniem itp., w formularzu była także lista wyboru z stanowiskiem pracy. W tabeli __Pracownicy __mam m.in. pole Stanowisko typu int, a tabela __Stanowisko __na pola ID_Stanowisko int i Stanowisko pracy nvarchar. Jest to prawidłowo podpięte. I mam problem jak zrobić tego Comboboxa, by wybór z listy był zapamiętywany w bazie danych.

0

Dlaczego pole Stanowisko w pierwszej tabeli jest typu int? Chcesz zapamiętywać tylko numer stanowiska z listy?
Żeby dodać stanowisko do bazy, wystarczy wrzucić comboBox1.Text do bazy.

0

Stanowisko jest typu int by możliwe było utworzenie relacji między tymi tabelami

0

Ale po co to łączyć? Nie wygodniej odczytać stanowisko pracy z pierwszej tabeli (zamieniając ją ówcześnie na jakiś typ string'owy).

0

Ale w tym wypadku nie ma możliwości zrobienia Comboboxa, ponieważ mamy tylko jeden wyraz przypisany do Stanowiska... Chyba że jednak się da...

0
allocer napisał(a)

Ale po co to łączyć? Nie wygodniej odczytać stanowisko pracy z pierwszej tabeli (zamieniając ją ówcześnie na jakiś typ string'owy).

Robił Ty kiedy jaka tabele? Wie co to 1,2,3 postać normalna? Nie wie? To nie plećta głupot.

0

@allocer

No tak to już w ogóle było by miodzio. Ale nie proponuj mu przetrzymywać nazwy stanowiska jako stringa w tabeli pracownicy.

0

To już wygodniej zrobić osobną tabelę, Id_Pracownika i ID_Stanowiska i z niej odczytywać

jeśli to jest na jakieś zaliczenie, to olać. wszystko jedno.

a jeśli program jest na serio, to lista stanowisk nie może być na sztywno — na pewno pojawią się pracownicy o nowych, nie przewidzianych w programie stanowiskach.

0

Fajnie... Tylko że to i tak w taki sposób nie zadziała. Wtedy w comboboxie widzimy tylko stanowisko przypisane do danej osoby, bez możliwości rozwinięcia listy i zmiany...

Właśnie wymagana jest możliwość dodawania nowych stanowisk... Projekt to jest.

0

Napisz jeszcze raz, powolutku i po polsku, co chcesz osiągnąć.

0

Jako ComboBox.DataSource trzeba ustawić BindingSource powiązany z tabelą Stanowisko, wówczas jako ValueMember wybrać ID_Stanowisko, zaś jako DisplayMember wybrać Stanowisko pracy (za spację w nazwie kolumny powinni Cię udusić). A jako SelectedValue wybrać Stanowisko z BindingSource powiązanego z tabelą Pracownicy.

0

Dziękuję :) Wydawało mi się już prędzej że tak to robiłam, ale widocznie popełniałam jakiś błąd bo nie działało. Teraz już OK :) I człowiek uczy się na błędach, już więcej nie zrobię spacji ;)
Dziękuję :)

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