• 15-11-2017, 17:13:29
    #1
    Merhaba Arkadaşlar, Karşılaştığım şöyle bir sorun var;

    Kod Bu ve Ürün'ü Sql'e Atacağı Zaman eğer değer, Nokta ile yazıldıysa bir sorun yok. ama Virgül ile yazılınca convert float hatası ile baş başa kalıyorum. bu sorunu kökten nasıl çözebilirim. Textbox tarafındamı çözmeliyim diğer Sql tarafında mı bilemedim. Fiyat girişlerinde sorun oluyor, ayrıca Noktalı Kullanımları Şu şekilde yapmak için nasıl bir yol izlemem gerekli 1.000,50 gibi ? Çıkamadım işin içinden nette biraz kurcaladım ama Pek anlaşılabilir bulamadım.


       SqlCommand ekle = new SqlCommand("insert into tbl_urunler (urunid,urunadi,urunmiktar,urunfiyat) values (@p1,@p2,@p3,@p4) ", bgl.baglanti());
                ekle.Parameters.AddWithValue("@p1", txturunkodu.Text);
                ekle.Parameters.AddWithValue("@p2", txturunadi.Text);
                ekle.Parameters.AddWithValue("@p3", txtstok.Text);
                ekle.Parameters.AddWithValue("@p4", txtfiyat.Text);
                ekle.ExecuteNonQuery();
                bgl.baglanti().Close();
                MessageBox.Show("Ürün Eklendi");
            }
  • 15-11-2017, 17:29:50
    #2
    şu şekilde dener misiniz ?
    SqlCommand ekle = new SqlCommand("insert into tbl_urunler (urunid,urunadi,urunmiktar,urunfiyat) values (<span class="userTag">@p1,@p2,@p3,@p4) "</span>, bgl.baglanti());
             ekle.Parameters.AddWithValue("<span class="userTag">@p1"</span>, Convert.ToDouble(txturunkodu.Text));
             ekle.Parameters.AddWithValue("<span class="userTag">@p2"</span>, Convert.ToDouble(txturunadi.Text));
             ekle.Parameters.AddWithValue("<span class="userTag">@p3"</span>, Convert.ToDouble(txtstok.Text));
             ekle.Parameters.AddWithValue("<span class="userTag">@p4"</span>, Convert.ToDouble(txtfiyat.Text));
             ekle.ExecuteNonQuery();
             bgl.baglanti().Close();
             MessageBox.Show("Ürün Eklendi");
         }
  • 15-11-2017, 17:38:25
    #3
    veritabanında ki veri tiplerinizi Decimal(10,2) olarak giriş sağlar ve textbox lardan gelen verileride convert.ToDecimal(txtfiyat.Text) olarak çevirirseniz sorun kalmayacaktır.
  • 15-11-2017, 17:40:29
    #4
    ibuluter adlı üyeden alıntı: mesajı görüntüle
    veritabanında ki veri tiplerinizi Decimal(10,2) olarak giriş sağlar ve textbox lardan gelen verileride convert.ToDecimal(txtfiyat.Text) olarak çevirirseniz sorun kalmayacaktır.
    EmreCapan adlı üyeden alıntı: mesajı görüntüle
    şu şekilde dener misiniz ?
    Sizin yöntemi, Ben Ayrıca değer oluşturarak denemiştim olmamıştı, az önceki arkadaşın bilgisiyle de harmanlayınca oldu, Çok teşekkür ederim.
    SqlCommand ekle = new SqlCommand("insert into tbl_urunler (urunid,urunadi,urunmiktar,urunfiyat) values (<span class="userTag">@p1,@p2,@p3,@p4) "</span>, bgl.baglanti()); ekle.Parameters.AddWithValue("<span class="userTag">@p1"</span>, Convert.ToDouble(txturunkodu.Text)); ekle.Parameters.AddWithValue("<span class="userTag">@p2"</span>, Convert.ToDouble(txturunadi.Text)); ekle.Parameters.AddWithValue("<span class="userTag">@p3"</span>, Convert.ToDouble(txtstok.Text)); ekle.Parameters.AddWithValue("<span class="userTag">@p4"</span>, Convert.ToDouble(txtfiyat.Text)); ekle.ExecuteNonQuery(); bgl.baglanti().Close(); MessageBox.Show("Ürün Eklendi"); }
    Ufak bir değişiklik ile sorun çözüldü çok teşekkürler