注册后在数据库中输入用户详细信息

本文关键字:输入 用户 详细信息 数据库 注册 | 更新日期: 2023-09-27 18:14:41

我试图在asp.net中使用c#注册用户,然后将其详细信息放入我的数据库。一切似乎都很好,但细节没有进入数据库。以下是目前为止的内容:

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

和在网络上。配置页面我有连接字符串:

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

知道我做错了什么吗?

注册后在数据库中输入用户详细信息

连接字符串没有指定目录-即要使用的数据库

例如,我的测试数据库为:
<connectionStrings>
        <add     name="WindowsFormsApplication3.Properties.Settings.mbcConnectionString"
        connectionString="Data Source=(local);Initial Catalog=myDB;Integrated Security=True"
        providerName="System.Data.SqlClient" />
</connectionStrings>

数据源是服务器位置,目录是该服务器中的数据库