Hallo allemaal,
Ik ben sinds een paar dagen aan het stoeien met Visual Studio 2008 en met name aan het proberen om een applicatie te bouwen die samenwerkt met een database. Ik heb al een DatGridView die prima werkt en gegevens goed update naar de database. Ik heb ook een aantal instellingen die ik gewoon in textfields wil houden, omdat ik dat overzichtelijker vind werken voor de gebruiker. Wat ik nu heb werkt voor het ophalen van data. De data wordt goed weergegeven in het textfield. Echter als ik de waarde verander en op 'Opslaan' druk, wordt de veranderde waarde niet weggeschreven naar de database. Ik heb de volgende code:
Ik heb geen flauw idee waarom dit niet zou werken. Ik heb verschillende tutorials bekeken, maar kan er niet achter komen waarom het niet werk. Zover ik het begrijp heb ik een DataSet van de database en een DataTable die een specifieke tabel voorstelt. In het page_load gedeelte maak ik de DataTable aan voor de tabel waar ik mee wil werken en vul ik de tabel met de desbetreffende tableAdapter. De waarde wordt nu goed in het tekstveld geladen. Bij het drukken op de knop pas ik de DataTable aan door de juiste waarde te veranderen en de DataTable geeft ik aan de Update() functie van de tableAdapter mee. De tableAdapter moet nu toch de aangepaste DataTable wegschrijven naar de database?
Alvast bedankt.
Ik ben sinds een paar dagen aan het stoeien met Visual Studio 2008 en met name aan het proberen om een applicatie te bouwen die samenwerkt met een database. Ik heb al een DatGridView die prima werkt en gegevens goed update naar de database. Ik heb ook een aantal instellingen die ik gewoon in textfields wil houden, omdat ik dat overzichtelijker vind werken voor de gebruiker. Wat ik nu heb werkt voor het ophalen van data. De data wordt goed weergegeven in het textfield. Echter als ik de waarde verander en op 'Opslaan' druk, wordt de veranderde waarde niet weggeschreven naar de database. Ik heb de volgende code:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace MS_Belwijzer { public partial class windowAdminParticulier : Form { TarievenDS.particulier_kpn_overigDataTable data; TarievenDSTableAdapters.particulier_kpn_overigTableAdapter particulier_kpn_overigTA; public windowAdminParticulier() { InitializeComponent(); } private void windowAdminParticulier_Load(object sender, EventArgs e) { // This loads data into the 'tarievenDS.particulier_kpn_bundels' table. this.particulier_kpn_bundelsTableAdapter.Fill(this.tarievenDS.particulier_kpn_bundels); // Fill the 'overige' settings particulier_kpn_overigTA = new TarievenDSTableAdapters.particulier_kpn_overigTableAdapter(); data = particulier_kpn_overigTA.GetData(); particulier_kpn_overigTA.Fill(data); textAdminPartKpnV1.Text = data.Rows[0].ItemArray[2].ToString(); } private void buttonAdminPartKpnBundels_Click(object sender, EventArgs e) { this.particulier_kpn_bundelsTableAdapter.Update(this.tarievenDS); } private void buttonAdminPartKpnOverig_Click(object sender, EventArgs e) { data.Rows[0].ItemArray[2] = 40; particulier_kpn_overigTA.Update(data); } } } |
Ik heb geen flauw idee waarom dit niet zou werken. Ik heb verschillende tutorials bekeken, maar kan er niet achter komen waarom het niet werk. Zover ik het begrijp heb ik een DataSet van de database en een DataTable die een specifieke tabel voorstelt. In het page_load gedeelte maak ik de DataTable aan voor de tabel waar ik mee wil werken en vul ik de tabel met de desbetreffende tableAdapter. De waarde wordt nu goed in het tekstveld geladen. Bij het drukken op de knop pas ik de DataTable aan door de juiste waarde te veranderen en de DataTable geeft ik aan de Update() functie van de tableAdapter mee. De tableAdapter moet nu toch de aangepaste DataTable wegschrijven naar de database?
Alvast bedankt.