我正在尝试向SqlCommand
添加参数,但是它会插入参数名称而不是参数值。
这是代码段:
var QueryString1 = "Insert into UsersTable (Username, Password, IsAdmin, Email, Budget, Phone) " +
"values ('@Un', '@P','" + user.IsAdmin + "', '@E', '@B', '@Ph')";
using (SqlCommand command = new SqlCommand(QueryString1, con))
{
command.Parameters.Add("@Un", SqlDbType.Text);
command.Parameters["@Un"].Value = user.UserName;
command.Parameters.Add("@P", SqlDbType.Text);
command.Parameters["@P"].Value = user.Password;
command.Parameters.Add("@E", SqlDbType.Text);
command.Parameters["@E"].Value = user.Email;
command.Parameters.Add("@B", SqlDbType.Text);
command.Parameters["@B"].Value = user.Budget.Amount + "-" + user.Budget.Currency;
command.Parameters.Add("@Ph", SqlDbType.VarChar);
command.Parameters["@Ph"].Value = user.Phone;
if (command.ExecuteNonQuery().Equals(0))
{
con.Close();
return InternalServerError();
}
con.Close();
return Ok();
}
抱歉记录模糊:)
答案 0 :(得分:7)
您将变量名用单引号引起来,而不是将字符串值引起来