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 масштаб параметров, по-прежнему усечены.