0

I am getting this exception here is my inserting code for creating user detail into db . I am trying to solve at my end but unable to do so

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");
}
J. Steen
  • 15,470
  • 15
  • 56
  • 63
  • I wonder if the value being `null` *during `AddWithValue`* is confusing it; could you try `cmd.Parameters.AddWithValue("@Usr_Name", ((object)usr.Usr_Name) ?? DBNull.Value);` ? – Marc Gravell Jul 13 '17 at 08:45
  • Also, worth a read to explain what might be going wrong: [Can we stop using AddWithValue already?](https://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/) – J. Steen Jul 13 '17 at 08:49
  • A similar issue: https://stackoverflow.com/questions/23448403/the-parameterized-query-expects-the-parameter-units-which-was-not-supp. It contains similar solution as Marc suggested. – Tetsuya Yamamoto Jul 13 '17 at 08:51

1 Answers1

-1
Comment :  // Problem in your query. Please write Actual DB Field Name of 
your SQL in below line.

public ActionResult Create(UserModel usr)
{
    con.Open();
    Comment :  // Problem in your query. Please write Actual DB Field Name 
                  of your SQL in below line.

 string query = "Insert into Tbl_User 
(Field1,Field2,Field3,Field4,Field5,Field6,Field7) 
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");
 }
Dilip Oganiya
  • 1,504
  • 12
  • 20