将asp.net成员身份生成的用户ID插入自定义表(vb)
我花了几个小时试图找到这个问题的答案,尽管网上到处都有教程,但没有一个适合我(或者我太不懂他们在告诉我什么…) 无论如何,我正在asp.net中使用成员身份创建用户。我要做的是将生成的UserId添加到我创建的自定义表中的一列中,以将自定义表中的内容与在aspnet_Users中创建的用户链接起来 以下是注册提交按钮的代码:将asp.net成员身份生成的用户ID插入自定义表(vb),asp.net,sql-server,vb.net,asp.net-membership,Asp.net,Sql Server,Vb.net,Asp.net Membership,我花了几个小时试图找到这个问题的答案,尽管网上到处都有教程,但没有一个适合我(或者我太不懂他们在告诉我什么…) 无论如何,我正在asp.net中使用成员身份创建用户。我要做的是将生成的UserId添加到我创建的自定义表中的一列中,以将自定义表中的内容与在aspnet_Users中创建的用户链接起来 以下是注册提交按钮的代码: Private Sub submit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Private Sub submit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles submit.Click
Dim connectionString As String = WebConfigurationManager.ConnectionStrings("edinsec").ConnectionString
Dim createStatus As MembershipCreateStatus
Membership.CreateUser(fname.Text, password.Text, email.Text, sq.Text, sa.Text, False, createStatus)
''#Something has to happen here!
Dim insertSQL As String
insertSQL = "INSERT INTO clients (UserId)"
insertSQL &= "VALUES (@userId)"
Using con As New SqlConnection(connectionString)
Dim cmd As New SqlCommand(insertSQL, con)
cmd.Parameters.AddWithValue("@firstname", firstname.Text)
Try
Try
con.Open()
Catch ex As SqlException
MsgBox("Connection Problem - Please Retry Later", 65584, "Connection Error")
End Try
cmd.ExecuteNonQuery()
MsgBox("Thank you for joining us - we will be in touch shortly.", 65600, "Join Up")
Response.Redirect("Default.aspx")
Catch Err As SqlException
MsgBox("Error inserting record - please retry later.", 65584, "Insertion Error")
End Try
con.Close()
End Using
End Sub
如您所见,我试图获取成员身份生成的userid,并将其插入到clients表中。我尝试了很多方法来获取用户ID,但都没有成功
会员资格是用来创建用户的,这只是我以后一直坚持的部分
任何帮助都将不胜感激:)Membership.CreateUser返回MembershipUser对象。您可以从返回的对象获取用户ID
MembershipUser user = Membership.CreateUser(...);
Guid userId = (Guid)user.ProviderUserKey;
Membership.CreateUser返回MembershipUser对象。您可以从返回的对象获取用户ID
MembershipUser user = Membership.CreateUser(...);
Guid userId = (Guid)user.ProviderUserKey;
我最终使用以下代码管理它:
Dim userid As Guid = New Guid(Membership.GetUser(username.Text).ProviderUserKey.ToString())
…其中username.Text是用户名表单输入的内容,用户在其中选择其用户名
相关参数行如下所示:
cmd.Parameters.Add("@UserId", g)
我得到一个警告,说我正在使用的方法被弃用,但它至少可以工作 我最终使用以下代码管理它:
Dim userid As Guid = New Guid(Membership.GetUser(username.Text).ProviderUserKey.ToString())
…其中username.Text是用户名表单输入的内容,用户在其中选择其用户名
相关参数行如下所示:
cmd.Parameters.Add("@UserId", g)
我得到一个警告,说我正在使用的方法被弃用,但它至少可以工作 我在代码中遇到了各种各样的错误(“MembershipUser是一种类型,不能用作表达式”等等)。你发布的是VB吗?我在代码中遇到了各种各样的错误(“MembershipUser是一种类型,不能用作表达式”等等)。您发布的是VB吗?警告与使用.Add而不是.AddWithValue有关。更改后,没有任何警告,并且仍然可以正常工作。警告与使用.Add而不是.AddWithValue有关。改变后,没有任何警告,它仍然可以正常工作。