2015-09-25 14 views
5

Próbuję zarejestrować użytkownika przy użyciu C# w asp.net, a następnie umieścić ich dane w mojej bazie danych. Wszystko wydaje się działać dobrze, ale szczegóły nie trafiają do bazy danych. Oto co mam do tej pory:Wprowadź dane użytkownika do bazy danych po rejestracji

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(); 
    } 
} 

oraz na stronie web.config Mam ciąg połączenia:

<connectionStrings> 
<add name="MyDatabaseConnection" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\MyDatabaseConnection.mdf;Integrated Security=True" 
    providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

Każdy pomysł co robię źle? Każda pomoc będzie doceniona.

+0

Czy otrzymujesz wyjątek? –

+0

Nie, wszystko wygląda na normalne, ale szczegóły nie pojawiają się w bazie danych – smurph

+0

Czy debugujesz kod? Czy zostałeś usunięty z zakresu, jeśli jakikolwiek warunek nie był spełniony? – Prabhat

Odpowiedz

0

Ciąg połączenia nie określając katalog - czyli bazy danych, aby używać

na przykład, moja baza testu brzmi:

<connectionStrings> 
     <add  name="WindowsFormsApplication3.Properties.Settings.mbcConnectionString" 
     connectionString="Data Source=(local);Initial Catalog=myDB;Integrated Security=True" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

Źródło danych jest lokalizacja serwera, katalog jest baza danych w ten serwer

Powiązane problemy