OleDbParameter.Scale 属性

定义

获取或设置所解析的 Value 的小数位数。

public:
 property System::Byte Scale { System::Byte get(); void set(System::Byte value); };
public byte Scale { get; set; }
[System.Data.DataSysDescription("DbDataParameter_Scale")]
public byte Scale { get; set; }
member this.Scale : byte with get, set
[<System.Data.DataSysDescription("DbDataParameter_Scale")>]
member this.Scale : byte with get, set
Public Property Scale As Byte

属性值

Value 进行解析的小数位数。 默认值为 0。

实现

属性

示例

以下示例创建 并 OleDbParameter 设置其一些属性。

Public Sub CreateOleDbParameter()  
    Dim parameter As New OleDbParameter("Price", OleDbType.Decimal)  
    parameter.Value = 3.1416  
    parameter.Precision = 8  
    parameter.Scale = 4  
End Sub 'CreateOleDbParameter  
public void CreateOleDbParameter()   
 {  
    OleDbParameter parameter = new OleDbParameter("Price", OleDbType.Decimal);  
    parameter.Value = 3.1416;  
    parameter.Precision = 8;  
    parameter.Scale = 4;  
 }  

注解

属性 Scale 仅在调用 Prepare 的 方法 OleDbCommand 之前用于十进制和数值输入参数,并指定数值输出参数。

将此属性设置为数据库中的值以外的值取决于数据提供程序的实现,并且可能会返回错误代码、截断或舍入数据。

使用 SQL Server Native Client 10 (或更高版本) 时,若要绑定类型为 DecimalNumericVarNumericDBDateDBTimeStamp的参数,必须手动指定适当的刻度值。

注意

不支持使用此属性来强制传递到数据库的数据。 若要在将数据传递到数据库之前对数据进行舍入、截断或强制数据,请在将值分配给参数的 属性之前,使用 Math 属于 System 命名空间的 Value 类。

注意

.NET Framework版本 1.0 附带.NET Framework数据提供程序不会验证 Precision 参数值的 或 ScaleDecimal 。 这可能导致在数据源中插入截断的数据。 如果使用 .NET Framework 版本 1.0,请在Precision设置参数值之前验证 值的 和 OleDbParameterDecimalScale 超过 Decimal 参数刻度的值仍会被截断。

适用于

另请参阅