.NET Framework 4.0 中的 System.Data.Common.DbParameter 类并没有直接提供 Scale 属性。Scale 属性是在 .NET Framework 4.5 中添加到 DbParameter 类的。Scale 属性用于设置或获取参数的小数点后的位数。

如果你的确需要设置小数点后的位数,你可以通过一些变通的方法来实现,例如:

如果你使用的是 SQL Server 数据库,可以使用 SqlParameter 的特定属性 Precision 和 Scale,这两个属性在 .NET Framework 4.0 中就已经存在。

下面是一个示例代码,演示如何在 .NET Framework 4.0 中使用 Size 属性来设置参数的小数点后位数:

/ 创建一个 SqlParameter 对象

SqlParameter parameter = new SqlParameter();

// 设置参数的名称

parameter.ParameterName = "@value";

// 设置参数的数据类型和大小

parameter.SqlDbType = SqlDbType.Decimal;

parameter.Size = 10; // 小数点前5位,小数点后4位(假设总共有10位)


或者直接转换:DbParameter是SqlParameter的基类


 /// <summary>

       /// 添加输出参数

       /// </summary>

       /// <param name="name">参数名称</param>

       /// <param name="typeName">参数类型</param>

       /// <returns>查询</returns>

       public OutputQuery AddOutParameter(string name, string typeName)

       {

           var p = dbCmd.CreateParameter();

           p.DbType = (DbType)Enum.Parse(typeof(DbType), typeName);

           if (p.DbType == DbType.String)//返回字符串,必须指定长度

           {

               p.Size = 50;

           }

           if (p.DbType == DbType.Decimal)//decimal 保留多少分小数点

           {

               SqlParameter sqlParam = (SqlParameter)p;

               sqlParam.Scale = 2;

           }

           p.ParameterName = "@" + name;

           p.Direction = ParameterDirection.Output;



           dbCmd.Parameters.Add(p);

           outputParameters.Add(name, p);


           return this;

       }