Ваша @AdminEmail
переменная EMail
равна нулю.Вы не можете передать null
на обязательном параметре.Используйте DBNull.Value
.
При использовании null
вы сообщаете Sql Server, что пропускаете параметр.Это может быть полезно для необязательного параметра со значением по умолчанию, но вызывает ошибку для обязательного параметра.
Я рекомендую всегда использовать служебную функцию при передаче значения параметру команды.
Например:
public static object GetDataValue(object value)
{
if(value == null)
{
return DBNull.Value;
}
return value;
}
и затем использовать
cmd.Parameters.AddWithValue("@AdminEmail", GetDataValue(EMail))