Compartilhar via


SqlParameter.Scale Propriedade

Definição

Obtém ou define o número de casas decimais para as quais o 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 os quais o 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 também se aplica a DateTimeOffset e Time .

Você não precisa especificar valores para as Precision propriedades e Scale para parâmetros de entrada, 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 forçar dados passados para o banco de dados. Para arredondar, truncar ou forçar dados antes de passá-los para o banco de dados, use a Math classe que faz parte do namespace antes de System atribuir um valor à propriedade do Value parâmetro.

Observação

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

Aplica-se a

Confira também