• 26-07-2014, 22:42:08
    #1
    Merhaba arkadaşlar c# ile bir program yaptım güncelleme yaparken isim ve kod varsa güncellerken kendisi dışındakileri sorgulasın yoksa kaydetsin istiyorum. Her şey çalışıyor sadece kod güncellerken hata veriyor neden olabilir acaba ?

    Yani kod ismi dışındakiler güncellenirken hata vermiyor sadece kod güncellerken hata veriyor.

    var sql = "select count(*) from Arabalar where ID != " + isimID + " and kod ='" + exkodu + "' or isim='" + exadi + "'  ";
    kod bu
  • 26-07-2014, 22:50:10
    #2
    string sql = "select count(*) from Arabalar where ID != " + isimID + " and (kod ='" + exkodu + "' or isim='" + exadi + "') ";

    bu şekilde denermisin

    +

    değişkenleri asla sql'e direk enjekte etmeyin mutlaka parametre kullanın.

    +

    hata verirse ne gibi hata veriyor hata görüntüsünü pm atarsanız daha iyi yardımcı olmaya çalışırım
  • 27-07-2014, 04:11:12
    #3
    bu şekilde bir hata veriyor. B4 kodunu yada Duran ismini değiştirince hata veriyor. İlginç olan ise hatada yeni yazılan ismi vermiyor.

  • 28-07-2014, 17:02:50
    #4
    != yerine <> deneyin.
  • 28-07-2014, 22:40:31
    #5
    bu şekilde hata vermiyor fakat kontrol de yapmıyor.Soruyu şöyle sorayım o zaman.

    Arabalar tablosunda güncelleme yaparken kendi ID'sı dışında isim ve kod alanı isimlerinde kontrol varsa güncelleme yapmasın yoksa güncelleme yapsın. Bunu nasıl yapabilirim desteğinize ihtiyacım var.
  • 29-07-2014, 02:40:38
    #6
    arkadaşın verdiği sql kodu doğru görünüyor <> yerine not deneyebilirsin ama fırlatılan exception hatanın sende olduğunu gösteriyor..

    yani id, kod ve isim kolonlarının türleri nasıl ayarlı?
    id nin türü sayısal olmalı (int)
    kod ve isim lerde varchar ya da nvarchar tarzı string türden olmalı

    bunlardan eminsen kodunu parçalara bölerek deneyeceksin..

    yani öncelikle id si atıyorum 5 olmayanları çekip çekmediğine bak (where deki diğer şeyleri sil).. eğer sorun yoksa id yi kontrol eden kısmı sil ve kod/isim i kontrol eden kısmı koyup dene.. eğer doğru sonuç veriyorsa tekrar bakalım, ama vermiyorsa sorun ondadır o zaman..