Ik heb een MS-SQL2005 database met enkele tabellen. Ik probeer een applicatie (C#, VS2008) te maken die oa. een form heeft om 1 van de tabellen te vullen.
Ik heb een data source (.xsd) gemaakt in VS met de benodigde tabellen. Als ik vervolgens de velden uit de 'data source panel' op mijn form sleep, worden netjes 5 tekstvakjes gemaakt, incl. labels en 1 datumpicker (smalldatefield in de db).
Ik voeg nog twee buttons toe: save en new en deze code:
Dit werkt prima. De gegevens komen netjes in de database.
Nu is 1 van de velden het medewerkersID. Ik heb ook een medewerkers tabel, met ID, Naam, etc.
Ik wil graag dat tekstvak vervangen door een dropdownlistbox, zodat de naam van de medewerker geselecteerd kan worden en het ID wordt opgeslagen.
Hiervoor heb ik in het 'data source panel' het veld van medewerkerID veranderd van textbox in combobox. Op het form de textbox verwijderd en de combobox op het form gesleept.
Als ik, tijdens runtime, nu daarin het ID invul en opsla gaat het nog steeds goed.
Als ik vervolgens in de combobox tasks aangeef dat ik 'data bounds items' wil gebruiken en dan de medewerkerstabel selecteer, als Display member Naam en Value member ID dan krijg ik netjes een combobox op mijn form die gevuld is met de namen van de medewerkers. Als ik dan eentje selecteer, de rest invul en op save klik, krijg ik geen foutmelding, maar het record wordt NIET opgeslagen
Ik snap daar niets van. Ik heb al twee keer opnieuw het form gemaakt, maar met hetzelfde resultaat.
Wat doe ik fout? Hoe kan ik er achter komen waar het fout gaat als er geen errors komen, ook niet tijdens debuggen.
Graag advies.
Ik heb een data source (.xsd) gemaakt in VS met de benodigde tabellen. Als ik vervolgens de velden uit de 'data source panel' op mijn form sleep, worden netjes 5 tekstvakjes gemaakt, incl. labels en 1 datumpicker (smalldatefield in de db).
Ik voeg nog twee buttons toe: save en new en deze code:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| private void Form1_Load(object sender, EventArgs e) { this.urenBindingSource.AllowNew = true; this.urenBindingSource.AddNew(); } private void btnSaveRecord_Click(object sender, EventArgs e) { if (!this.Validate()) MessageBox.Show("Not validated"); this.urenBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.urenDataSet); this.urenBindingSource.AddNew(); } private void btnNewRecord_Click(object sender, EventArgs e) { this.urenBindingSource.AddNew(); } |
Dit werkt prima. De gegevens komen netjes in de database.
Nu is 1 van de velden het medewerkersID. Ik heb ook een medewerkers tabel, met ID, Naam, etc.
Ik wil graag dat tekstvak vervangen door een dropdownlistbox, zodat de naam van de medewerker geselecteerd kan worden en het ID wordt opgeslagen.
Hiervoor heb ik in het 'data source panel' het veld van medewerkerID veranderd van textbox in combobox. Op het form de textbox verwijderd en de combobox op het form gesleept.
Als ik, tijdens runtime, nu daarin het ID invul en opsla gaat het nog steeds goed.
Als ik vervolgens in de combobox tasks aangeef dat ik 'data bounds items' wil gebruiken en dan de medewerkerstabel selecteer, als Display member Naam en Value member ID dan krijg ik netjes een combobox op mijn form die gevuld is met de namen van de medewerkers. Als ik dan eentje selecteer, de rest invul en op save klik, krijg ik geen foutmelding, maar het record wordt NIET opgeslagen
Ik snap daar niets van. Ik heb al twee keer opnieuw het form gemaakt, maar met hetzelfde resultaat.
Wat doe ik fout? Hoe kan ik er achter komen waar het fout gaat als er geen errors komen, ook niet tijdens debuggen.
Graag advies.