It's a shame that the top two StackOverflow results currently in Google for searches involving
Parameter ?_ has no default value
both have the questioner coming back in and saying there were flaws in their original question or their test data or whatever (though it's great that questioners check back in).
The explanation for this error (as encountered in normal situations) is supplied by Marc Gravell here:
Parameters with a .Value of null are not passed. At all.
You need to pass DBNull.Value instead to pass a semantic null. For
example:
com.Parameters.Add("@p7", OleDbType.Char, 255).Value =
((object)values7[0]) ?? DBNull.Value; (etc)