Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.
Toon posts:

[C#] Data bound form wil niet inserten in DB

Pagina: 1
Acties:

Verwijderd

Topicstarter
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:
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. _/-\o_

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Ik mis uit je code hoe je de dropdown aan je datasource hebt gekoppeld.

C#:
1
this.OptionDropdown.DataBindings.Add(new Binding("SelectedValue", bindingSource, "OptionID", true));

If it isn't broken, fix it until it is..


Verwijderd

Topicstarter
Ik zag dat er zowel databinding deed naar SelectedValue als naar Text.
Ik heb die naar Text verwijderd en nu gaat het als een speer.
Blijkbaar heb ik iets te veel settings gewijzigd.
Bedankt dat je me deze richting op hebt gestuurd.
Goed weekend alvast.