以前保存的记录无法更改

  • 本文关键字:记录 保存 vb.net
  • 更新时间 :
  • 英文 :


如果帐户有问题(例如忘记密码(,我正在尝试让用户编辑其帐户详细信息。在以前的表单中,用户输入经过验证的电子邮件,变量用于标记记录编号,并用于在文本框中显示记录。如果用户编辑数据并单击保存,则一切正常。但是,如果我转到登录表单,则无法使用新凭据登录。

设计

Private Sub ChangeUserDetails_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the 'DataSet1.Users' table. You can move, or remove it, as needed.
    Me.UsersTableAdapter.Fill(Me.DataSet1.Users)
    AlterUsernameTB.Text = UsersBindingSource(validatedRecord)("Username").ToString
    AlterPasswordTB.Text = UsersBindingSource(validatedRecord)("Password").ToString
    AlterEmailTB.Text = UsersBindingSource(validatedRecord)("Email").ToString
End Sub
Private Sub SaveBtn_Click(sender As Object, e As EventArgs) Handles SaveBtn.Click
    'Exception class will detect errors if any.
    Try
        Select Case MsgBox("Are you sure you want to alter your account details?", MsgBoxStyle.YesNo, "Are You Sure")
            Case MsgBoxResult.Yes
                If AlterUsernameTB.Text <> Nothing Then
                    If AlterPasswordTB.Text <> Nothing Then
                        If AlterReTypePasswordTB.Text <> Nothing Then
                            If AlterEmailTB.Text <> Nothing Then
                                If AlterReTypePasswordTB.Text = AlterPasswordTB.Text Then
                                    'Exception class will detect errors if any.
                                    Me.Validate()
                                    Me.UsersBindingSource.EndEdit()
                                    Me.TableAdapterManager.UpdateAll(Me.DataSet1)
                                    MessageBox.Show("Your account has been altered. Please click on Back to Login.")
                                Else
                                    MessageBox.Show("Passwords do not match!")
                                End If
                            Else
                                MessageBox.Show("Email textbox is empty!")
                            End If
                        Else
                            MessageBox.Show("Re-type password textbox is empty!")
                        End If
                    Else
                        MessageBox.Show("Password textbox is empty!")
                    End If
                Else
                    MessageBox.Show("Username textbox is empty!")
                End If
            Case MsgBoxResult.No
                'If 'No' is clicked nothing will happen.
        End Select
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub

我做错了什么?任何帮助将不胜感激。

干杯

我没有将文本框绑定到表格并尝试保存它们(这是完全错误的做法(,而是在保存之前将下面的代码插入到最后一个 If 语句中。它有效!

DataSet1.Users(validatedRecord).Username = AlterUsernameTB.Text
DataSet1.Users(validatedRecord).Password = AlterPasswordTB.Text
DataSet1.Users(validatedRecord).Email = AlterEmailTB.Text

最新更新