【发布时间】:2017-07-13 08:35:20
【问题描述】:
我在这里遇到了这个异常,这是我在 db 中创建用户详细信息的插入代码。我正在尝试最终解决但无法这样做
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");
}
【问题讨论】:
-
我想知道
null在AddWithValue期间的值是否令人困惑;你可以试试cmd.Parameters.AddWithValue("@Usr_Name", ((object)usr.Usr_Name) ?? DBNull.Value);吗? -
另外,值得一读以解释可能出了什么问题:Can we stop using AddWithValue already?
-
类似问题:stackoverflow.com/questions/23448403/…。它包含与 Marc 建议的类似的解决方案。
标签: c# asp.net-mvc