SqlParameter.Scale Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece el número de posiciones decimales con que se resuelve 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
Valor de propiedad
Número de posiciones decimales a las que se resuelve Value. El valor predeterminado es 0.
Implementaciones
- Atributos
Ejemplos
En el ejemplo siguiente se crea y SqlParameter se establecen algunas de sus propiedades.
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
Comentarios
Los Scale parámetros que tienen una SqlDbType propiedad de Decimal
, DateTime2
, DateTimeOffset
o Time
.
Advertencia
Los datos se pueden truncar si la Scale propiedad no se especifica explícitamente y los datos del servidor no caben en la escala 0 (valor predeterminado).
Para el tipo, la DateTime2
escala 0 (valor predeterminado) se pasará como datetime2(7). Actualmente no hay ninguna manera de enviar un parámetro como datetime2(0). Escala de 1 a 7 el trabajo según lo previsto.
Este problema también se aplica a DateTimeOffset
y Time
.
No es necesario especificar valores para las propiedades y Scale para los Precision parámetros de entrada, ya que se pueden deducir del valor del parámetro.
Precision
y Scale
son necesarios para los parámetros de salida y para escenarios en los que es necesario especificar metadatos completos para un parámetro sin indicar un valor, como especificar un valor NULL con una precisión y escala específicas.
Nota
No se admite el uso de esta propiedad para convertir los datos pasados a la base de datos. Para redondear, truncar o coerce los datos antes de pasarlos a la base de datos, use la Math clase que forma parte del System
espacio de nombres antes de asignar un valor a la propiedad del Value
parámetro.
Nota
Los proveedores de datos de .NET Framework que se incluyen con .NET Framework versión 1.0 no comprueban ni PrecisionScale los valores de Decimal los parámetros. Esto puede hacer que los datos truncados se inserten en el origen de datos. Si usa .NET Framework versión 1.0, valide los Precision valores y SqlParameter antes de Decimal establecer el valor del parámetro. Scale Los valores que superan la escala de Decimal parámetros se siguen truncando.