I am building a new website and migrating all users off a CMS (ExpressionEngine) that uses MYSql. I have all of the users imported into a MS SQL staging table (except passwords). I am trying to create members in asp.net membership by looping through the users in the staging table. I can get the first user to be created but I get the error "Object reference not set to an instance of an object". If I run it twice, I get the message "The user "Joe" has is already in role 'members'" I am not too smart at this and I am trying to figure out why it won't loop. I am sure it is something simple I am not seeing. Any ideas would be greatly appreciated.
Here is my code:
Imports System.Collections.Generic Imports System.Linq Imports System.Web Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.Web.Security Imports System.Data Imports System.Data.SqlClient Imports System.Configuration Partial Public Class gridview_updating Inherits System.Web.UI.Page Protected Sub btnCreate_Click(sender As Object, e As EventArgs) Dim conn As SqlConnection = Nothing Dim connString As String = ConfigurationManager.ConnectionStrings("myConnectionString").ConnectionString conn = New SqlConnection(connString) Dim cmd As New SqlCommand("SELECT Username, email, password FROM Staging_table", conn) conn.Open() Dim dr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection) Dim dt As New DataTable() dt.Load(dr) For i As Integer = 0 To dt.Rows.Count - 772 Dim strUserName As String = dt.Rows(i)("UserName").ToString() Dim strEmail As String = dt.Rows(i)("email").ToString() Dim strPassword As String = dt.Rows(i)("Password").ToString() Create_User(strUserName, strEmail, strPassword) 'On Error Resume Next Next conn.Close() End Sub Protected Sub Create_User(strUserName As String, strEmail As String, strPassword As String) Dim status As MembershipCreateStatus Dim user As MembershipUser = Membership.CreateUser(strUserName, strEmail, strPassword, Nothing, Nothing, False, _ status) Roles.AddUserToRole(strUserName, "Members") Dim myObject As MembershipUser = Membership.GetUser(strEmail) Dim strUserId As String = myObject.ProviderUserKey.ToString() End Sub End Class