SqlParameter.Scale Tulajdonság

Definíció

Lekéri vagy beállítja a feloldott tizedesjegyek Value számát.

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

Tulajdonság értéke

A feloldott tizedesjegyek Value száma. Az alapértelmezett érték a 0.

Megvalósítás

Attribútumok

Példák

Az alábbi példa létrehoz egy SqlParameter és beállít néhány tulajdonságot.

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

Megjegyzések

A Scale tulajdonságot olyan paraméterek használják, amelyek SqlDbTypeDecimala , DateTime2, DateTimeOffsetvagy Time.

Warning

Az adatok csonkíthatók, ha a Scale tulajdonság nincs explicit módon megadva, és a kiszolgálón lévő adatok nem férnek el a 0- (alapértelmezett) skálán. A típus esetében a DateTime2 0.skálázás (az alapértelmezett) dátum/idő2(7) lesz átadva. Jelenleg nincs mód paraméter küldésére datetime2(0) néven. A várt módon skálázza az 1-7 munkát. Ez a probléma vonatkozik és DateTimeOffsetTime vonatkozik is.

Nem kell megadnia a Precision bemeneti paraméterek értékeit és Scale tulajdonságait, mivel ezek a paraméterértékből következtethetők. Precision és Scale szükségesek a kimeneti paraméterekhez, valamint olyan forgatókönyvekhez, ahol teljes metaadatokat kell megadnia egy paraméterhez érték megjelölése nélkül, például null értéket kell megadnia egy adott pontossággal és skálázással.

Note

A tulajdonság használata az adatbázisba továbbított adatok kényszerítésére nem támogatott. Az adatok kerekítéséhez, csonkolásához vagy más módon való összefűzéséhez, mielőtt átadta volna azokat az adatbázisnak, használja azt az Math osztályt, amely a System névtér része, mielőtt értéket rendelne a paraméter tulajdonságához Value .

Note

.NET .NET Keretrendszer 1.0-s verziójában szereplő keretrendszer-adatszolgáltatók nem ellenőrzik a Precision paraméterértékek Scale vagy DecimalScale. Ez azt eredményezheti, hogy csonkolt adatok kerülnek be az adatforrásba. Ha .NET Keretrendszer 1.0-s verzióját használja, a paraméterérték beállítása előtt ellenőrizze Precision és SqlParameterDecimal értékeit. Scale a Decimal paraméterméretet meghaladó értékek továbbra is csonkulnak.

A következőre érvényes:

Lásd még