Guten morgen,
ich habe mir anhand eines Tutorials ein kleines Programm zur Benutzerverwaltung geschrieben und dieses ein wenig erweitert. Wenn ich das Programm, so wie es im Tutorial beschrieben ist ausführe werden die Daten beim update ohne weiteres in der Datenbank übernommen. Meine Erweiterungen bestehen im Grunde genommen nur aus ein paar Textfeldern, welche über databindings an die Datenbank gebunden werden. Sind die databindings gesetzt funktioniert das update plötzlich nicht mehr. Hier mal der Code, hoffe ihr könnt mir helfen.
Private Sub F_Main_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
LadeTab()
End Sub Private Sub LadeTab()
Try
conn.Open()
ds.Clear()
da.Fill(ds, "Users")
cboUsername.DataSource = ds
cboUsername.DisplayMember = "Users.Username"
cboUsername.ValueMember = "Users.ID"
'With Me
'.txtUsername.DataBindings.Add("Text", ds, "Users.Username")
'.txtPasswort.DataBindings.Add("Text", ds, "Users.Passwort")
'.txtEmail.DataBindings.Add("Text", ds, "Users.Email")
'End With
Catch ex As OleDbException
MessageBox.Show(ex.Message, "Fehler", MessageBoxButtons.OK, _
MessageBoxIcon.Exclamation)
Finally
conn.Close()
End Try
End Sub Wenn die databindings wie oben ausgequotet sind funktioniert alles wunderbar.
Private Sub UpdateTab(ByVal strUser As String)
Dim cb As OleDbCommandBuilder = New OleDbCommandBuilder(da)
If MessageBox.Show("Sollen die Daten geändert werden?", _
"Daten ändern?", MessageBoxButtons.YesNo, _
MessageBoxIcon.Question) = DialogResult.No Then
Exit Sub
End If
Try
conn.Open()
Dim row As DataRow
Dim dt As DataTable = ds.Tables("Users")
For Each row In dt.Rows
If row!Username = strUser Then
row!Passwort = txtPasswort.Text
row!Email = txtEmail.Text
row!Datum = DateTime.Now.ToShortDateString
End If
Next
da.Update(ds, "Users")
MessageBox.Show("Datensatz geändert!", "Update", _
MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As OleDbException
MessageBox.Show(ex.Message, "Fehler", MessageBoxButtons.OK, _
MessageBoxIcon.Exclamation)
Finally
conn.Close()
End Try
LadeTab()
End Sub |