SqlParameter.Scale Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
- SQL Server-adattípusok és ADO.NET
- Parancsok és paraméterek (ADO.NET)
- DataAdapter parameters (ADO.NET)
A .NET-keretrendszer Data Provider használata SQL Server - ADO.NET áttekintése