none
Update yapıyor ama aynı degerleri atıyor RRS feed

  • Soru

  • Arkadaşlar gerçekten kafayı yemek üzereyim aynı yerde kaç gündür takıldım kaldım

    yapmak istedigim şu datalistten stok ozellik tablosunu çekip üründüzenle kısmında aşagıdaki gibi

    S 1  

    M 2 

    L 3

    XL 4

    2XL 6

    gibi daha önce tanımlamdıgım ürünün beden özellikerini düzenliycem yeni degerler giricem..girilen sayısal degerler textbox alanı.

     //BEDEN KAYITLARI GÜNCELLEME BAŞLADI

          SqlDataAdapter cmd222 = new SqlDataAdapter("select * from tbl_stokanaozellik where kategoriid='" + magazakategori + "' ", baglanti);

         

          DataTable dt222 = new DataTable();
          
                cmd222.Fill(dt222);
                if (dt222.Rows.Count > 0)
                {

                   

                    int i = 0;
                     while (i < dt222.Rows.Count )
                        
                        {
                            foreach (DataListItem item in DLStokAnaOzellik.Items)
                            
                            {
                                Label LblStokAnaOzellik = (Label)item.FindControl("LblStokAnaOzellik");
                                TextBox TxtSayi = (TextBox)item.FindControl("TxtSayi");
                          
                            

                                         SqlCommand cmd22 = new SqlCommand("update tbl_urungaleristok set urungaleristokad=@urungaleristokad,urungaleristokdeger=@urungaleristokdeger,urungalerikatid=@urungalerikatid where urungalerikatid='" + urungaleriid + "'", baglanti);
                        cmd22.Parameters.Add("@urungaleristokad", LblStokAnaOzellik.Text);

                  
                        cmd22.Parameters.AddWithValue("@urungalerikatid", urungaleriid);
                         cmd22.Parameters.Add("@urungaleristokdeger", TxtSayi.Text);
                              
                        
                              
                        cmd22.ExecuteNonQuery();

                        i++;
                       
                    }
                    }



                }
                //BEDEN KAYITLARI GÜNCELLEME BİTTİ

    BU KOD ÇALIŞTIGINDA MESELA BEDEN TABLOSUNDA O ÜRÜNE AİT BEDENLERİN TAMAMI EN SON KAYIT

    2XL 6 ALIYOR.ŞÖYLE YANİ

    DAHA ÖNCE GÜZELCE 5 ADET BEDEN TANMLAMIŞIM

    ESKİ HALİ  TABLODA

    S 1  

    M 2 

    L 3

    XL 4

    2XL 6

    YENİ HALİ

    2XL 6

    2XL 6

    2XL 6

    2XL 6

    2XL 6 

    AYNEN BU HALE GELİYOR.YOKMUDUR BİR USTA BENİ BU ÇETREFİLDEN ÇIKARTACAK.


    11 Ağustos 2015 Salı 14:58

Yanıtlar

  • ARKADAŞLAR TEŞEKKÜR ETTİM SORUN ÇÖZÜLDÜ.İNSAN DEMEKKİ DETAYDA BOGULUNCA ÖNÜNDEKİNİ GÖREMİYOR.URUNSTOKGALERİ TABLOSUNDA YENİ BEDEN ÖLÇÜLERİNİ YAZDIRIRKEN SADECE URUNGALERIID YE GORE IŞLEM YAPTIRIP URUNSTOKGALERIID YE GORE SORGU YAZILMAYIP DONGUDE TEK TEK ID ALDIRILMAYIP UPDATE YAPILIRSA BENDEKI GIBI BUTUN KAYITLARI EN SON KAYDA ÇEVİRİR.YORUM YAPAN ARKADAŞLARA TEŞEKKÜR EDİYORUM.
    13 Ağustos 2015 Perşembe 09:01

Tüm Yanıtlar

  • Arkadaşlar yokmu kimsede bir cevap?
    12 Ağustos 2015 Çarşamba 13:23
  • BlackHawk38 sorunun cevabı var.

    Ama yaptığın yöntem yanlış. Ben uyarınca kızıyorsunuz. Bu yaptığın kodlar doğru değil. Önce parametreli sorgular yazmalısın.(Gerçekten parametreli sorgu yazmalısın. %50 %60 değil. %100 parametreli sorgular)


    urungaleriid nedir?

    Mail Blog Web Site

    12 Ağustos 2015 Çarşamba 13:39
  • urungaleristok tablosu urungaleri sayfasının detay tablosu.urungaleriid urungaleri tablosundaki ürünün id alanı.

    ürüngaleri tablosu

    urungaleriid

    urunadi

    ........

    urungaleristok

    urungaleristokid

    urungaleristokad

    urungaleristokdeger

    urungalerikatid

    • Düzenleyen BlackHawk38 12 Ağustos 2015 Çarşamba 13:52
    12 Ağustos 2015 Çarşamba 13:47
  • Yukarda nerde doldurdun bu alanı?

    Mail Blog Web Site

    12 Ağustos 2015 Çarşamba 13:54
  • urunduzenle kısmına tıkladıgında urune ait id yi pageload kısmında

    urungaleriid = Page.RouteData.Values["urungaleriid"].ToString();  olarak aldım.urunun id sini atmakta sıkıntık yok soner hocam.mesela söyle diyim urun eklerken gayet guzel ekliyorum.kafama takılan noktadan biride şu sql insert ile tıkır tıkır çaışıken update neden böyle bir hata verip ddetaydaki o ürüne ait bütün stok özelliklerini en son kayıt neyse onla dolduruyor.

    break point koydugumda bakıyorum normal işliyor degerleri tek tek görebiliyorum dogru olarak ama update tamamladıgında break pointte işleyen mantık yok


    • Düzenleyen BlackHawk38 12 Ağustos 2015 Çarşamba 14:02
    12 Ağustos 2015 Çarşamba 14:01
  • ŞUNU AÇIGA KAVUŞTURAYIMDA.ÜRÜN EKLEDİM BEDENLERİ GİRDİM.BURDA SIKINTI YOK ÜRÜNÜN BEDENLERİ ATIYORUM YENİ DEGERLER GİRİCEM S İÇİN 1 M İÇİN 3 L İÇİN 4 GİBİ.TEK TEK S 1 , M 3 , L 4 YAZMASI GEREKİRKEN BU ALANLARIN HEPSİNİ L 4 , L 4 , L 4 YAPIYOR.
    12 Ağustos 2015 Çarşamba 14:21
  • Sorun hatalı foreach kullanımından kaynaklanıyor. Syntax hatası değil de mantık hatası var. DataListItem içinde kaç eleman varsa o kadar sayıda döngüye girecek ve aynı sayıda update sorgusu çalıştıracak. Id alanının değeri sabit kaldığı için DataListItem in en son elemanı neyse en son ona güncelliyor. Yani datatable içindeki her satırı datalistitem eleman sayısı kadar güncelleme işlemine alıyor. En son olarak da L4 e güncelleyip bir sonraki satıra geçiyor. Dolayısıyla bütün satırlar aynı değere güncelleniyor
    12 Ağustos 2015 Çarşamba 15:40
  • Deleted
    12 Ağustos 2015 Çarşamba 18:00
  • ARKADAŞLAR TEŞEKKÜR ETTİM SORUN ÇÖZÜLDÜ.İNSAN DEMEKKİ DETAYDA BOGULUNCA ÖNÜNDEKİNİ GÖREMİYOR.URUNSTOKGALERİ TABLOSUNDA YENİ BEDEN ÖLÇÜLERİNİ YAZDIRIRKEN SADECE URUNGALERIID YE GORE IŞLEM YAPTIRIP URUNSTOKGALERIID YE GORE SORGU YAZILMAYIP DONGUDE TEK TEK ID ALDIRILMAYIP UPDATE YAPILIRSA BENDEKI GIBI BUTUN KAYITLARI EN SON KAYDA ÇEVİRİR.YORUM YAPAN ARKADAŞLARA TEŞEKKÜR EDİYORUM.
    13 Ağustos 2015 Perşembe 09:01