Bagikan melalui


SqlParameter.Scale Properti

Definisi

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, , DateTime2DateTimeOffset, 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.

Berlaku untuk

Lihat juga