none
Asp.Net Çıkarma işlemi RRS feed

  • Soru

  • Merhaba, asp.net' de çıkarma işlemi yapmaya çalışıyorum. Fakat "int" türü örtülü olarak string türüne dönüştürülemez hatası alıyorım.

            int toplam;
            int tahsilat;
            protected void Page_Load(object sender, EventArgs e)
            {
            Label6.Text = toplam - tahsilat;// altı çizilen bölüm
    
            }
            protected void ListBox1_DataBound(object sender, EventArgs e)
            {
                int sonuc1 = 0;
    
                for (int i = 0; i < ListBox1.Items.Count; i++)
                {
                    sonuc1 += Convert.ToInt32(ListBox1.Items[i].Value);
                }
                toplam = sonuc1;
    
            }
            protected void ListBox2_DataBound(object sender, EventArgs e)
            {
                int sonuc2 = 0;

                for (int k = 0; k < ListBox2.Items.Count; k++)
                {
                    sonuc2 += Convert.ToInt32(ListBox2.Items[k].Value);
                }
                tahsilat = sonuc2;

            }


    24 Haziran 2013 Pazartesi 12:23

Yanıtlar

  • demekki işlemin sonucu 0 mış. Muhtemelen for içinde aldığınız değer string ConvertToInt32 0 döndürüyor. 

    Database'den alıp listeye yazıyor, yazdıklarınızı topluyor sonradan farkını alıyorsunuz. ListBox'lar, Grid'ler işlem yapma yeri değildirler, sadece elde var olan veriyi göstermede kullanılırlar. Siz hesaplamayı kaynağında, verinin olduğu yerde yapmalısınız. Elde ettiğiniz sonucu istediğiniz kontrolde gössterebilirsiniz;

    select sum(alan1) - sum(alan2) as tutar from tablo1


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC


    24 Haziran 2013 Pazartesi 14:46
    Moderatör

Tüm Yanıtlar

  • Label6.Text = (toplam - tahsilat).ToString();
    şeklinde denermisiniz.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    24 Haziran 2013 Pazartesi 13:09
    Moderatör
  • Yanıtınız için teşekkür ederim. Dediğiniz şekilde denediğim zaman label daki yazı 0 oluyor.
    24 Haziran 2013 Pazartesi 13:23
  • demekki işlemin sonucu 0 mış. Muhtemelen for içinde aldığınız değer string ConvertToInt32 0 döndürüyor. 

    Database'den alıp listeye yazıyor, yazdıklarınızı topluyor sonradan farkını alıyorsunuz. ListBox'lar, Grid'ler işlem yapma yeri değildirler, sadece elde var olan veriyi göstermede kullanılırlar. Siz hesaplamayı kaynağında, verinin olduğu yerde yapmalısınız. Elde ettiğiniz sonucu istediğiniz kontrolde gössterebilirsiniz;

    select sum(alan1) - sum(alan2) as tutar from tablo1


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC


    24 Haziran 2013 Pazartesi 14:46
    Moderatör