Поделиться через


SqlParameter.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.

Реализации

Атрибуты

Примеры

В следующем примере создается SqlParameter и задаются некоторые его свойства.

static void CreateSqlParameterPrecisionScale()
{
    SqlParameter parameter = new SqlParameter("Price", SqlDbType.Decimal);
    parameter.Value = 3.1416;
    parameter.Precision = 8;
    parameter.Scale = 4;
}
Private Sub CreateSqlParameterPrecisionScale()
    Dim parameter As New SqlParameter("Price", SqlDbType.Decimal)
    parameter.Value = 3.1416
    parameter.Precision = 8
    parameter.Scale = 4
End Sub

Комментарии

Свойство Scale используется параметрами, имеющими SqlDbType значение Decimal, DateTime2, DateTimeOffsetили Time.

Предупреждение

Данные могут быть усечены, если Scale свойство не указано явно и данные на сервере не соответствуют масштабу 0 (значение по умолчанию).
DateTime2 Для типа масштаб 0 (по умолчанию) будет передан как datetime2(7). В настоящее время невозможно отправить параметр в виде datetime2(0). Масштабы от 1 до 7 работают должным образом. Эта проблема также относится к DateTimeOffset и Time .

Не нужно указывать значения для Precision свойств и Scale для входных параметров, так как они могут быть выведены из значения параметра. Precision и Scale необходимы для выходных параметров и для сценариев, в которых необходимо указать полные метаданные для параметра без указания значения, например указание значения NULL с определенной точностью и масштабом.

Примечание

Использование этого свойства для принудительного применения данных, передаваемых в базу данных, не поддерживается. Чтобы округить, усечь или иным образом принудить данные перед их передачей в базу данных, используйте Math класс, который является частью System пространства имен, прежде чем присваивать значение свойству параметра Value .

Примечание

платформа .NET Framework поставщики данных, включенные в платформа .NET Framework версии 1.0, не проверяют Precision значения параметров или ScaleDecimal . Это может привести к вставке усеченных данных в источник данных. Если вы используете платформа .NET Framework версии 1.0, проверьте PrecisionSqlParameter и значенийDecimal, прежде чем задавать значение параметра. Scale Значения, превышающие масштаб параметров, по-прежнему Decimal усекаются.

Применяется к

См. также раздел