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


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 используется параметрами, имеющими DecimalSqlDbType значение , DateTime2DateTimeOffsetили 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, не проверяют или ScaleDecimal не проверяют Precision значения параметров. Это может привести к вставке усеченных данных в источник данных. Если вы используете .NET Framework версии 1.0, проверьте Precision и SqlParameterDecimal значения перед установкой значения параметра. Scale Значения, превышающие Decimal масштаб параметров, по-прежнему усечены.

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

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