传递空Sql参数给出错误

时间:2014-01-28 09:58:40

标签: c# sql-server asp.net-mvc

我将SQL参数数组传递给我的包装函数,如

  SqlParameter[] sqlParams = new SqlParameter[] { 
            new SqlParameter("@UserName",userName),
            new SqlParameter("@Password",password)
  };

当我将null值传递给参数sql server时,给出了错误:

过程或函数'AuthenticateUser'需要参数'@Password',这是未提供的。

1 个答案:

答案 0 :(得分:2)

您应该传递d​​bnull值,然后参数值为null:

SqlParameter[] sqlParams = new SqlParameter[] { 
            new SqlParameter("@UserName",(object)userName ?? DBNull.Value),
            new SqlParameter("@Password",(object)password ?? DBNull.Value)
  };