Beste Tweakers,
Ben bezig met het fabriceren van een Windows Applicatie in Visual Basic .NET.
Op een Windows Form heb ik een aantal comboboxen en textvelden.
Een aantal van deze boxen en velden worden doormiddel van een ADO.NET gevuld vanuit een access database. (OLEDB Connection --> OLEDB Data Adapter --> Dataset).
Vroeger (in vb6) werd dit gedaan doormiddel van een recordsource en recordset.
Nu wil ik ook ingevoerde data in een tabel in de database plaatsen via een ADO.NET methode. (In VB6 ging dit ook dmv een recordsource en recordset)
Volgens mijn ADO.NET boek zou dat op de volgende manier moeten geschieden:
Als ik deze code run dan 'fietst' hij er vrolijk doorheen , geeft de melding dat de update Finished is en dat er geen fouten zijn ontstaan. Echter als ik dan in de database kijk is er wel een row toegevoegd echter zijn er geen correcte waarden ingevuld in de velden.
De volgende waarden kom ik tegen:
Waarde kolom "Brand": System.Windows.Forms.ComboBox, Items.Count: 2
Waarde kolom "Model": System.Windows.Forms.ComboBox, Items.Count: 2
Waarde kolom "Serialnumber": System.Windows.Forms.TextBox, Text: 1V9CL897
Weet iemand misschien wat ik hier fout doe?
Kan iemand mij uitleggen / toelichten hoe dit in VB.NET moet.
In VB6 was dit een eitje maar in VB.NET kom ik er niet echt uit....
Ben bezig met het fabriceren van een Windows Applicatie in Visual Basic .NET.
Op een Windows Form heb ik een aantal comboboxen en textvelden.
Een aantal van deze boxen en velden worden doormiddel van een ADO.NET gevuld vanuit een access database. (OLEDB Connection --> OLEDB Data Adapter --> Dataset).
Vroeger (in vb6) werd dit gedaan doormiddel van een recordsource en recordset.
Nu wil ik ook ingevoerde data in een tabel in de database plaatsen via een ADO.NET methode. (In VB6 ging dit ook dmv een recordsource en recordset)
Volgens mijn ADO.NET boek zou dat op de volgende manier moeten geschieden:
code:
1
2
3
4
5
6
7
8
9
10
11
| 'Vullen van datasets doormiddel van de OLDDB Adapater
Private Sub FRM_Desktops_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DATASET_Departments.Clear()
DATASET_Hardware.Clear()
DATASET_Parts.Clear()
DATASET_Troubles.Clear()
OLEDB_Departments.Fill(DATASET_Departments)
OLEDB_Hardware.Fill(DATASET_Hardware)
OLEDB_Parts.Fill(DATASET_Parts) |
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| 'Updaten van de dataset
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim drNew As System.Data.DataRow
drNew = Me.DATASET_Troubles.Troubles.NewRow()
drNew.Item("Brand") = COMBO_Brand
drNew.Item("Model") = COMBO_Model
drNew.Item("Serialnumber") = TXT_Serialnumber
Me.DATASET_Troubles.Troubles.Rows.Add(drNew)
'Updaten van de datasource (access db)
Me.OLEDB_Troubles.Update(Me.DATASET_Troubles.Troubles)
MessageBox.Show("Finished", "Update")
End Sub |
Als ik deze code run dan 'fietst' hij er vrolijk doorheen , geeft de melding dat de update Finished is en dat er geen fouten zijn ontstaan. Echter als ik dan in de database kijk is er wel een row toegevoegd echter zijn er geen correcte waarden ingevuld in de velden.
De volgende waarden kom ik tegen:
Waarde kolom "Brand": System.Windows.Forms.ComboBox, Items.Count: 2
Waarde kolom "Model": System.Windows.Forms.ComboBox, Items.Count: 2
Waarde kolom "Serialnumber": System.Windows.Forms.TextBox, Text: 1V9CL897
Weet iemand misschien wat ik hier fout doe?
Kan iemand mij uitleggen / toelichten hoe dit in VB.NET moet.
In VB6 was dit een eitje maar in VB.NET kom ik er niet echt uit....
[ Voor 5% gewijzigd door Verwijderd op 20-10-2003 22:47 . Reden: code tags toegevoegd ]