ここでは、 DBに詳しく、私は私の最後で解決しようとしているが、そう{"パラメータ化されたクエリ '(@Usr_Name nvarchar(4000).... nv'は、提供されなかったパラメータ '@Usr_Name'を要求します)"}
public ActionResult Create(UserModel usr)
{
con.Open();
string query = "Insert into Tbl_User Values(@Usr_Name,@FirstName,@LastName,@Gender,@Phone,@Address,@Email)";
SqlCommand cmd = new SqlCommand(query, con);
SqlParameter usrname = cmd.Parameters.AddWithValue("@Usr_Name", usr.Usr_Name);
if (usr.Usr_Name == null)
{
usrname.Value = DBNull.Value;
}
SqlParameter fname = cmd.Parameters.AddWithValue("@FirstName", usr.First_Name);
if (usr.First_Name == null)
{
fname.Value = DBNull.Value;
}
cmd.Parameters.AddWithValue("@LastName", usr.Last_Name);
cmd.Parameters.AddWithValue("@Gender", usr.Gender);
cmd.Parameters.AddWithValue("@Phone", usr.Phone);
cmd.Parameters.AddWithValue("@Address", usr.Address);
cmd.Parameters.AddWithValue("@Email", usr.Email);
cmd.ExecuteNonQuery();
return RedirectToAction("Index");
}
値は 'AddWithValue' *がそれを混乱さの間に' null'なのでの*であることかしら行うことができません;。あなたは 'CMDを試みることができます.Parameters.AddWithValue( "@ Usr_Name"、((object)usr.Usr_Name)?DBNull.Value); '? –
また、何かが間違っているかもしれないことを説明するために読む価値があります:[AddWithValueの使用を中止できますか?] (https://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-alrea dy /) –
同様の問題:https://stackoverflow.com/questions/23448403/the-parameterized-query-expects-the-parameter-units-which-was-not-supp。それはMarcが提案したのと同様の解決策を含んでいます。 –