, açıkça parametre olarak decimal
tipini kullanmak için SqlParameter.Precision
ve SqlParameter.Scale
özellikleri ayarlamak gerekir.
SQL alanınızın decimal(18,8)
türünde olduğunu varsayalım. eğer
cmd.Parameters.Add(new SqlParameter("@ordGty", SqlDbType.Decimal) {
Precision = 18, Scale = 8 });
Ayrıca, değer katmak için
cmd.Parameters.Add(new SqlParameter("@ordGty", SqlDbType.Decimal) {
Precision = 18, Scale = 8}).Value = 0.4m; // or whatever
yapabilirsiniz şöyledir: Bu satır içi yapmanın yolu, SqlParameterCollection
eklemeden sırasında SqlParameter için ayracı-başlatmayı kullanmaktır Bir tanesine ihtiyacım var. İsterseniz,
'u da yapabilirsiniz. Brace initialization gerçekten güçlüdür.
Yan not: Bunun eski bir soru olduğunu anlıyorum, ancak bu formun, nesneyi listeye eklerken oluşturmasından ve ölçek ve kesinlik ayarından çok daha okunabilir olduğunu düşünüyorum. Posterity için! (Bu bir yüksek listeleme google arama sonucu olduğu için)
Bir sorunuz mu var? Hata hakkında ne belirsiz buluyorsunuz? – Oded
Merhaba Oded, Evet Hassasiyet ve ölçek ayarlamak için yukarıdaki istisnayı alıyorum. –
Ve? Hata hakkında net olmayan nedir? Kesinlik ve ölçek ayarlamanız gerekir. – Oded