我将SQL参数数组传递给我的包装函数,如
SqlParameter[] sqlParams = new SqlParameter[] {
new SqlParameter("@UserName",userName),
new SqlParameter("@Password",password)
};
当我将null值传递给参数sql server时,给出了错误:
过程或函数'AuthenticateUser'需要参数'@Password',这是未提供的。
答案 0 :(得分:2)
您应该传递dbnull值,然后参数值为null:
SqlParameter[] sqlParams = new SqlParameter[] {
new SqlParameter("@UserName",(object)userName ?? DBNull.Value),
new SqlParameter("@Password",(object)password ?? DBNull.Value)
};