代码之家  ›  专栏  ›  技术社区  ›  Alvan Rahimli

如何向SqlCommand添加参数?

  •  1
  • Alvan Rahimli  · 技术社区  · 7 年前

    我正在尝试将参数添加到 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();
    }
    

    And this is the result of SQL Server

    抱歉,记录模糊:)

    1 回复  |  直到 7 年前
        1
  •  8
  •   Menahem    7 年前

    您使用单引号包装变量名,而不是包装字符串值