Öncelikle herkese iyi sosyaller. Barkodlu bir stok takip programı yazdım C# ile. Sorum şu bir hızlı satış paneli yapmak istedim. Barkodunu yazdığım ürün, fiyat, barkod olarak ekrana geliyor. Adet düzenlendikten sonra ekleye tıklandığında sepete düşüyor. Sum sorgusu ile toplam fiyat hesaplanıyor ve satış gerçekleşip stoktan ürünler düşüyor. Fakat problem şu eklediğim ürünlerde ki ondalık sayıları da tam sayı olarak görüyor ve sum da bu şekilde topluyor. Decimal, float, gibi çok fazla veri türünde denedim ya tür dönüşüm hatası alıyorum ya da money veri türünde bu şekilde virgüllü kısmı da ondalık kısım olarak yazıyor. Kodlar ve sistem fotoğraflarını aşağıya ekliyorum. Projeden soğudum bu hatadan dolayı durma noktasına geldim. Yardımcı olursanız çok sevinirim. Şimdiden teşekkürler.
Denedim hocam değişen bir şey yok. Problem sum da değil. SQL veri tabanına aktarırken küsuratları da tam sayı olarak aktarıyor.
Veri tabanından virgül ile veri girişi yapıldığında sum düzgün şekilde topluyor. Problemimiz ben textboxlardan virgül ile veri çekemiyorum. Tam sayı olarak görüyor.
Ürünler isimli bir tabloda ürünler tutuluyor. Barkod okutulduğunda ürün, fiyat olarak listview e geliyor. Adet belirtildikten sonra ekle dendiğinde sepet listviewine gidiyor. Sepete eklemesi için olan sorgu bu fiyat verisini ürünler tablosunda ki verinin textbox a yazılmasıyla textboxdan alıyor yani. Problem şu tam sayı bir fiyatı doğru şekilde SQL'e çekiyor, topluyor. Fakat küsuratlı bir değer olduğunda 23,5 gibi 235,0 yaparak yazıyor veri tabanına. Yukarıda gördüğünüz benim SQL'den yazdığım bir şey sum u sınamak için yazdım yani programın böyle çalışması lazım.
Sistem biraz karışık farkındayım işin içinden çıkamadım. Çok bir şey de bulamadım internette kolay bir hata gibi görünüyor ama çok fazla uğraşmama rağmen çözemedim. Basit bir tür dönüşüm hatası değil anlaşılan.
@Enes Akyüz değişkenlerinizi ve textboxlara yazdırdığınız kodları paylaşır mısınız? Hatanın veri dönüşümünde olduğunu düşünüyorum. SQL kısmını ayrıca inceleyelim fakat öncelikle formdaki hatayı çözmeye çalışalım.