using System;
using System.Data;
using System.Data.SqlClient;
decimal d = 100.0M;
SqlParameter p = new SqlParameter("someparam", SqlDbType.Decimal);
p.Precision = (byte)1;
p.Scale = (byte)0;
p.Value = d; // doesn't fail here.
SqlParameter p2 = new SqlParameter("someparam", SqlDbType.Decimal, 0, ParameterDirection.Input, false, (byte)1, (byte)0, "someParam", DataRowVersion.Current, d); // no failure here either.
Console.WriteLine(p.SqlValue); // note that even though the parameter should only be 1 digit, it still doesn't throw an error here.
Console.WriteLine(p2.SqlValue); // no failing...