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 усекаются.