SqlParameter.Precision 属性

定义

获取或设置用于表示 Value 属性的最大位数。

public:
 property System::Byte Precision { System::Byte get(); void set(System::Byte value); };
public byte Precision { get; set; }
member this.Precision : byte with get, set
Public Property Precision As Byte

属性值

用于表示 Value 属性的最大位数。 默认值为 0。 这指示数据提供程序将设置 Value 的精度。

实现

示例

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

using Microsoft.Data.SqlClient;

class Program
{
    private static void AddSqlParameter(SqlCommand command)
    {
        SqlParameter parameter = new SqlParameter("@Price", SqlDbType.Decimal);
        parameter.Value = 3.1416;
        parameter.Precision = 8;
        parameter.Scale = 4;

        command.Parameters.Add(parameter);
    }
}

注解

属性 Precision 由 为 SqlDbType 的参数 Decimal使用。

无需为 Precision 输入参数指定 和 Scale 属性的值,因为它们可以从参数值推断。 PrecisionScale 对于输出参数和需要指定参数的完整元数据而不指示值(例如指定具有特定精度和小数位数的 null 值)的方案,和 是必需的。

注意

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

注意

.NET Framework版本 1.0 附带的 Microsoft .NET Framework数据提供程序不验证 Precision 参数值的 或 ScaleDecimal 。 这可能会导致在数据源中插入截断的数据。 如果使用 .NET Framework 版本 1.0,请在Precision设置参数值之前验证 值的 和 ScaleDecimal 。 使用 .NET Framework 版本 1.1 或更高版本时,如果Decimal参数值设置为无效 Precision,则会引发异常。 Scale 超过 Decimal 参数刻度的值仍会被截断。

适用于