SqlParameter.Scale Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur jumlah tempat desimal yang Value diselesaikan.
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
Nilai Properti
Jumlah tempat desimal yang Value diselesaikan. Defaultnya adalah 0.
Penerapan
- Atribut
Contoh
Contoh berikut membuat SqlParameter dan mengatur beberapa propertinya.
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
Keterangan
Properti Scale digunakan oleh parameter yang memiliki SqlDbType dari Decimal
, , DateTime2
DateTimeOffset
, atau Time
.
Peringatan
Data dapat dipotong jika Scale properti tidak ditentukan secara eksplisit dan data di server tidak sesuai dengan skala 0 (default).
Untuk jenis , DateTime2
skala 0 (default) akan diteruskan sebagai datetime2(7). Saat ini tidak ada cara untuk mengirim parameter sebagai datetime2(0). Menskalakan 1-7 berfungsi seperti yang diharapkan.
Masalah ini berlaku untuk DateTimeOffset
dan Time
juga.
Anda tidak perlu menentukan nilai untuk Precision properti dan Scale untuk parameter input, karena dapat disimpulkan dari nilai parameter.
Precision
dan Scale
diperlukan untuk parameter output dan untuk skenario di mana Anda perlu menentukan metadata lengkap untuk parameter tanpa menunjukkan nilai, seperti menentukan nilai null dengan presisi dan skala tertentu.
Catatan
Penggunaan properti ini untuk memaksa data yang diteruskan ke database tidak didukung. Untuk membulatkan, memotong, atau memaksa data sebelum meneruskannya ke database, gunakan Math kelas yang merupakan bagian System
dari namespace sebelum menetapkan nilai ke properti parameter Value
.
Catatan
.NET Framework penyedia data yang disertakan dengan .NET Framework versi 1.0 tidak memverifikasi Precision atau Scale nilai Decimal parameter. Ini dapat menyebabkan data yang terpotong disisipkan di sumber data. Jika Anda menggunakan .NET Framework versi 1.0, validasi Precision nilai dan SqlParameterDecimal sebelum mengatur nilai parameter. Scale nilai yang melebihi Decimal skala parameter masih terpotong.