SqlParameter.Scale 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置所解析的 Value 的小数位数。
public:
property System::Byte Scale { System::Byte get(); void set(System::Byte value); };
public byte Scale { get; set; }
member this.Scale : byte with get, set
Public Property Scale As Byte
属性值
对 Value 进行解析的小数位数。 默认值为 0。
实现
示例
以下示例创建 SqlParameter 并设置其一些属性。
// using Microsoft.Data.SqlClient;
static void CreateSqlParameterPrecisionScale()
{
SqlParameter parameter = new SqlParameter("Price", SqlDbType.Decimal);
parameter.Value = 3.1416;
parameter.Precision = 8;
parameter.Scale = 4;
}
注解
属性 Scale 由具有 SqlDbType 为 的参数 Decimal
使用。
警告
如果未显式指定属性, Scale 并且服务器上的数据不适合 0 (默认) ,则可能会截断数据。
无需为输入参数的 Precision 和 Scale 属性指定值,因为可以从参数值推断它们。 Precision
和 Scale
是输出参数和需要为参数指定完整元数据而不指示值的方案所必需的,例如指定具有特定精度和小数位数的 null 值。
注意
不支持使用此属性来强制传递到数据库的数据。 若要在将数据传递到数据库之前对数据进行舍入、截断或以其他方式强制数据,请在向参数的 Value
属性赋值之前使用Math属于 System
命名空间的类。
注意
.NET Framework版本 1.0 附带.NET Framework数据提供程序不会验证Precision参数值的 或 ScaleDecimal 。 这可能会导致在数据源中插入截断的数据。 如果使用 .NET Framework 版本 1.0,请在Precision设置参数值之前验证 值的 和 SqlParameterDecimal 。 Scale 超过 Decimal 参数小数位数的值仍会被截断。