• 17-08-2020, 10:53:43
    #1
    Merhabalar ben bir WebService yazdım ürün fiyatım var ve değeri float

    WebService tarafındaki kodum

    public DataSet postUrun(string urun_barkod, int kategori_id,string urun_adi,int miktar, double fiyat)
    {
    string query = String.Format(@"INSERT INTO Urunler (barkod,urun_adi,kategori_id) VALUES ('" + urun_barkod + "','" + urun_adi + "'," + kategori_id + ")"
    
    
    + "INSERT INTO StokTakibi (urun_id,stok_sayisi) VALUES ((Select TOP 1 urun_id from Urunler WHERE barkod='" + urun_barkod + "')," + miktar + ")" +
    
    "INSERT INTO Fiyat (urun_id,fiyat) VALUES ((Select TOP 1 urun_id from Urunler WHERE barkod='" + urun_barkod + "')," + fiyat + ")");
    
    return SorguCalistir(query);
    }
    Program tarafındaki kodum

    String f = urunFiyat.Text;
    var fiyat = f.Replace(",", ".");
    
                client.postUrun(urunBarkod.Text, kategoriID, urunAdi.Text, Convert.ToInt32(urunMiktar.Text), Convert.ToDouble(fiyat));
    Dönüştürme yapmadan virgül kullanırsam sql sorgusu hata veriyor nokta kullandığımda ise 24.25 yazsam 2425 olarak sql tablosuna ekliyor çözemedim sorunum nedir?

    Virgül kullandıktan sonra aldığım hata

  • 17-08-2020, 11:38:04
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Okullarda böyle mi öğretiyorlar bilmiyorum ama SQL' i çok yanlış kullanıyorsunuz bu şekilde başınız çok ağrır. EntityFramework, Linq, Repository Pattern gibi aramalar yaparak daha modern kullanımları öğrenebilirsiniz,
  • 18-08-2020, 03:34:41
    #3
    SQL sorgusunda virgüllü fiyatı string (nchar) olarak gönderin.
    " + fiyat + "
    olan kodu

    '" + fiyat + "'(dıştakiler tek tırnak)

    Olarak değiştirin.