Why is there a difference in the definition of sqlparameters that are
auto-created for insert,update or delete parameters when
the datatype is a decimal? For instance why is a ParameterDirection
property added to these and not others or why
is a DataRowVersion parameter added to these and nother others?

this.sqlInsertCommand1.Parameters.Add(new SqlParameter("@T1",
System.Data.SqlDbType.SmallInt, 2, "T1"));

this.sqlInsertCommand1.Parameters.Add(new SqlParameter("@D2",
System.Data.SqlDbType.Decimal, 5,
System.Data.ParameterDirection.Input, false, ((System.Byte)(8)),
((System.Byte)(2)), "D2", System.Data.DataRowVersion.Current, null));

Thanks

Eric