私はこれに対する答えを見つけようと数時間を費やしましたが、チュートリアルはネット上にはありませんが、または私は彼らが私に言っているものを理解するにはあまりにもn00bです...)asp.netメンバーシップで生成されたUserIdをカスタムテーブル(VB)に挿入
とにかく、私はメンバーシップを使用してasp.netでユーザーを作成しています。私がしたいのは、作成したカスタムテーブルの列に生成されたUserIdを追加して、aspnet_Usersで作成したユーザーとカスタムテーブルの内容をリンクすることです。
ここで私は送信ボタン登録のために持っているコードです:あなたは、私が会員で生成されたユーザーIDを取得し、クライアントのテーブルに挿入しようとして見ることができるように
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を取得するには数多くのアプローチを試みましたが、何もしませんでした。
メンバーシップはユーザーを作成するために働きます。メンバーシップは後で私が立ち往生している部分です。
任意の助けもいただければ幸いです:)
.AddWithValueの代わりに.Addを使用することに関連する警告。それを変更した後、警告は表示されず、正常に動作します。 – melat0nin