Membership.Updateuser not really updating the database.
- by Shimrod
Hi everybody,
I'm currently working on a membership system for my web application, which is based on forms authentication from the framework.
I created some users with the integrated tool, and the login is perfectly working.  But now what I want to do is to give administrator the capability to create, modify, delete users.
So here is what I've got right now:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim muc As MembershipUserCollection = Membership.GetAllUsers()
        ComboBox1.DataSource = muc
        ComboBox1.DataValueField = "UserName"
        ComboBox1.DataTextField = "UserName"
        ComboBox1.DataBind()
    End Sub
Protected Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ComboBox1.SelectedIndexChanged
        Dim userName As String = ComboBox1.SelectedValue
        Dim mu As MembershipUser = Membership.GetUser(userName)
        Dim userRoles As String() = Roles.GetRolesForUser(userName)
        tbComments.Text = mu.Comment
        tbEmail.Text = mu.Email
        lblUserName.Text = mu.UserName
    End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        Dim userName As String = ComboBox1.SelectedValue
        Dim mu As MembershipUser = Membership.GetUser(userName)
        If Not mu Is Nothing Then
            Try
                mu.Comment = tbComments.Text
                Membership.UpdateUser(mu)
                mu.Email = tbEmail.Text
                Membership.UpdateUser(mu)
                mu.IsApproved = True
                Membership.UpdateUser(mu)
                mu = Nothing
            Catch ex As Exception
                Console.WriteLine(ex.ToString())
            End Try
        End If
        DetailPanel.Visible = False
End Sub
The problem is that the record doesn't seem to be updated in the database.
I made the multiple calls to Membership.UpdateUser after reading this blog entry, but it didn't change anything.
A strange think I noticed while debugging, is that when I enter the Button1_Click method, Membership.GetUser(userName) returns me values from my precedent attempt !  I don't really understand what I'm missing.
Does someone have a clue ?
Thanks in advance !