If the value you are assining to the parameter is null it will give message like what you have got.Please note database doesn't know about null, to pass null in table you have to pass "DBNull.Value", which represent non existent data.
If you pass null internally the query generated will try to assign Default Constraint Value for that column, so if there is default constraint on your column you will not get this error.
You should check like this while passing value to parameterized query.
param[0].Value=myValue==null?(object)DBNull.Value : myValue
or
param[0].Value=myValue??(object)DBNull.Value