Partilhar via


SqlParameter.Scale Propriedade

Definição

Obtém ou define o número de casas decimais para as quais Value é resolvido.

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

Valor da propriedade

O número de casas decimais para as quais Value é resolvido. O padrão é 0.

Implementações

Atributos

Exemplos

O exemplo a seguir cria um SqlParameter e define algumas de suas propriedades.

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

Comentários

A Scale propriedade é usada por parâmetros que têm um SqlDbType de Decimal, DateTime2, DateTimeOffsetou Time.

Aviso

Os dados poderão ser truncados se a Scale propriedade não for especificada explicitamente e os dados no servidor não se ajustarem à escala 0 (o padrão). Para o tipo, a DateTime2 escala 0 (o padrão) será passada como datetime2(7). No momento, não há como enviar um parâmetro como datetime2(0). Dimensiona o trabalho de 1 a 7 conforme o esperado. Esse problema se aplica a DateTimeOffset e Time também.

Você não precisa especificar valores para os Precision parâmetros de entrada e Scale propriedades, pois eles podem ser inferidos do valor do parâmetro. Precision e Scale são necessários para parâmetros de saída e para cenários em que você precisa especificar metadados completos para um parâmetro sem indicar um valor, como especificar um valor nulo com uma precisão e escala específicas.

Observação

Não há suporte para o uso dessa propriedade para coagir dados passados para o banco de dados. Para arredondar, truncar ou coagir dados antes de passá-los para o banco de dados, use a Math classe que faz parte do System namespace antes de atribuir um valor à propriedade do Value parâmetro.

Observação

Os provedores de dados do .NET Framework incluídos no .NET Framework versão 1.0 não verificam o Precision valor ou Scale o parâmetro Decimal . Isso pode fazer com que dados truncados sejam inseridos na fonte de dados. Se você estiver usando o .NET Framework versão 1.0, valide o valor e SqlParameter os Precision valores antes de Decimal definir o valor do parâmetro. Scale os valores que excedem a escala de Decimal parâmetro ainda são truncados.

Aplica-se a

Confira também