I am trying to register a user using C # in asp.net, and then put his data into my database. Everything works fine, but the details do not get into the database. Here is what I still have:
protected void CreateUser_Click(object sender, EventArgs e) { var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>(); var signInManager = Context.GetOwinContext().Get<ApplicationSignInManager>(); var user = new ApplicationUser() { UserName = Email.Text, Email = Email.Text }; IdentityResult result = manager.Create(user, Password.Text); if (result.Succeeded) { signInManager.SignIn( user, isPersistent: false, rememberBrowser: false); IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); manager.AddToRole(user.Id, "users"); string connectionString = WebConfigurationManager.ConnectionStrings["MyDatabaseConnection"].ConnectionString; SqlConnection con = new SqlConnection(connectionString); string sql; sql = "INSERT INTO users (username, title, gname, sname, dob, address, suburb, state, postcode, phone, email) VALUES (@UserName, @Title1, @FirstName, @FamilyName, @DateOfBirth, @Address, @Suburb, @State, @Postcode, @Phone, @Email)"; SqlCommand cmd = new SqlCommand(sql, con); cmd.Parameters.AddWithValue("@Username", Email.Text.Trim()); cmd.Parameters.AddWithValue("@Title1", Title1.Text.Trim()); cmd.Parameters.AddWithValue("@FirstName", FirstName.Text.Trim()); cmd.Parameters.AddWithValue("@FamilyName", FamilyName.Text.Trim()); cmd.Parameters.AddWithValue("@DateOfBirth", DateOfBirth.Text.Trim()); cmd.Parameters.AddWithValue("@Address", Address.Text.Trim()); cmd.Parameters.AddWithValue("@Suburb", Suburb.Text.Trim()); cmd.Parameters.AddWithValue("@State", State.Text.Trim()); cmd.Parameters.AddWithValue("@Postcode", Postcode.Text.Trim()); cmd.Parameters.AddWithValue("@Phone", Phone.Text.Trim()); cmd.Parameters.AddWithValue("@Email", Email.Text.Trim()); using (con) { con.Open(); int rowCount = cmd.ExecuteNonQuery(); if (rowCount > 0) { lblResult.Text = "Success. New User Registered"; } } } else { ErrorMessage.Text = result.Errors.FirstOrDefault(); } }
and on the web.config page I have a connection string:
<connectionStrings> <add name="MyDatabaseConnection" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\MyDatabaseConnection.mdf;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>
Any idea what I'm doing wrong? Any help would be appreciated.