use
null
instead of
DBNull.Value
cmd.Parameters.Add("@other_logon_list", SqlDbType.NVarChar).Value = string.IsNullOrWhiteSpace(strListOthLog) ? null : strListOthLog;
cmd.Parameters.Add("@additional_comments", SqlDbType.NVarChar).Value = string.IsNullOrWhiteSpace(strComment) ? null : strComment;
DBNull.Value:
DBNull.Value is for the purpose of working with databases. A database column can contain a null value. However, when that data is selected into an object (such as a DataTable) in code, there is an object there to reference as far as the code is concerned. However, that object contains a representation of a null value from the database. Thus, DBNull.Value exists to represent that distinction. It basically means "There is a C# object here which grabbed a value from a database, but that value is null."
refer
null vs DBNull.Value[
^]