SqlParameter.Scale Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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); };
[System.Data.DataSysDescription("DbDataParameter_Scale")]
public byte Scale { get; set; }
public byte Scale { get; set; }
[<System.Data.DataSysDescription("DbDataParameter_Scale")>]
member this.Scale : byte with get, set
member this.Scale : byte with get, set
Public Property Scale As Byte
Valor de Propriedade
O número de casas decimais para os quais Value é resolvido. A predefinição é 0.
Implementações
- Atributos
Exemplos
O exemplo seguinte cria um SqlParameter e define algumas das 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
Observações
A Scale propriedade é usada por parâmetros que têm um SqlDbType de Decimal, DateTime2, DateTimeOffset, ou Time.
Warning
Os dados podem ser truncados se a Scale propriedade não for explicitamente especificada e os dados no servidor não se enquadrarem na escala 0 (o padrão).
Para o DateTime2 tipo, a escala 0 (o padrão) será passada como datetime2(7). Atualmente, não há forma de enviar um parâmetro como datetime2(0). As escalas 1-7 funcionam como esperado.
Este problema aplica-se também a DateTimeOffset e Time também.
Não é necessário especificar valores para as Precision propriedades e Scale dos parâmetros de entrada, pois podem ser inferidos a partir do valor do parâmetro.
Precision e Scale são necessárias para parâmetros de saída e para cenários onde é necessário especificar metadados completos para um parâmetro sem indicar um valor, como especificar um valor nulo com precisão e escala específicas.
Note
A utilização desta propriedade para coagir dados passados para a base de dados não é suportada. Para arredondar, truncar ou de outra forma coagir dados antes de os passar para a base de dados, use a Math classe que faz parte do System namespace antes de atribuir um valor à propriedade do Value parâmetro.
Note
.NET fornecedores de dados do Framework incluídos na versão 1.0 do .NET Framework não verificam o Precision ou Scale dos valores do parâmetro Decimal. Isto pode fazer com que dados truncados sejam inseridos na fonte de dados. Se estiver a usar .NET Framework versão 1.0, valide o Precision e SqlParameter dos valores Decimal antes de definir o valor do parâmetro. Scale valores que excedem a Decimal escala de parâmetros continuam truncados.