SqlParameter.Scale Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.