none
Label Döngü İle Veri Çekme RRS feed

  • Soru

  • Merhaba,

    Formumda ilçelere göre gelir istatistiği göstermek istiyorum. İstanbul Avrupa yakası ilçeleri olacak.

    Formda labellar şu şekilde...

    label1(Arnavutköy)              label26(burada toplam gelir gösterilecek)

    label2(Avcılar)                     label27

    label3(Bağcılar)                   label28

    label4(Bakırköy)                  label29

    .                                            .

    .                                            .

    .                                            .

    label25(Zeytinburnu)          label50

     Ben aşağıdaki gibi yaptım, çalışıyor da, ama daha kısa olarak nasıl yapabilirim.

    string islem = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Arnavutköy" + "'";            string islem2 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Avcılar" + "'";            string islem3 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Bağcılar" + "'";            string islem4 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Bahçelievler" + "'";            string islem5 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Bakırköy" + "'";          string islem6 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Başakşehir" + "'";          string islem7 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Bayrampaşa" + "'";            string islem8 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Beşiktaş" + "'";          string islem9 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Beylikdüzü" + "'";            string islem10 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Beyoğlu" + "'";           string islem11 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Büyükçekmece" + "'";           string islem12 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Çatalca" + "'";            string islem13 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Esenler" + "'";            string islem14 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Esenyurt" + "'";            string islem15 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Eyüp" + "'";            string islem16 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Fatih" + "'";            string islem17 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Gaziosmanpaşa" + "'";          string islem18 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Güngören" + "'";            string islem19 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Kağıthane" + "'";          string islem20 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Küçükçekmece" + "'";           string islem21 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Sarıyer" + "'";            string islem22 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Silivri" + "'";           string islem23 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Sultangazi" + "'";           string islem24 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Şişli" + "'";            string islem25 = "select sum(toplam_tutar) from istatistik where ilce_adi='" + "Zeytinburnu" + "'";                        baglanti.Open();            OleDbCommand komut = new OleDbCommand(islem, baglanti);            OleDbCommand komut2 = new OleDbCommand(islem2, baglanti);            OleDbCommand komut3 = new OleDbCommand(islem3, baglanti);            OleDbCommand komut4 = new OleDbCommand(islem4, baglanti);            OleDbCommand komut5 = new OleDbCommand(islem5, baglanti);            OleDbCommand komut6 = new OleDbCommand(islem6, baglanti);            OleDbCommand komut7 = new OleDbCommand(islem7, baglanti);            OleDbCommand komut8 = new OleDbCommand(islem8, baglanti);            OleDbCommand komut9 = new OleDbCommand(islem9, baglanti);          OleDbCommand komut10 = new OleDbCommand(islem10, baglanti);           OleDbCommand komut11 = new OleDbCommand(islem11, baglanti);           OleDbCommand komut12 = new OleDbCommand(islem12, baglanti);          OleDbCommand komut13 = new OleDbCommand(islem13, baglanti);          OleDbCommand komut14 = new OleDbCommand(islem14, baglanti);           OleDbCommand komut15 = new OleDbCommand(islem15, baglanti);           OleDbCommand komut16 = new OleDbCommand(islem16, baglanti);           OleDbCommand komut17 = new OleDbCommand(islem17, baglanti);           OleDbCommand komut18 = new OleDbCommand(islem18, baglanti);          OleDbCommand komut19 = new OleDbCommand(islem19, baglanti);          OleDbCommand komut20 = new OleDbCommand(islem20, baglanti);          OleDbCommand komut21 = new OleDbCommand(islem21, baglanti);          OleDbCommand komut22 = new OleDbCommand(islem22, baglanti);          OleDbCommand komut23 = new OleDbCommand(islem23, baglanti);          OleDbCommand komut24 = new OleDbCommand(islem24, baglanti);            OleDbCommand komut25 = new OleDbCommand(islem25, baglanti);            label151.Text = komut.ExecuteScalar().ToString();          label152.Text = komut2.ExecuteScalar().ToString();           label153.Text = komut3.ExecuteScalar().ToString();            label154.Text = komut4.ExecuteScalar().ToString();            label155.Text = komut5.ExecuteScalar().ToString();            label156.Text = komut6.ExecuteScalar().ToString();            label157.Text = komut7.ExecuteScalar().ToString();            label158.Text = komut8.ExecuteScalar().ToString();            label159.Text = komut9.ExecuteScalar().ToString();            label160.Text = komut10.ExecuteScalar().ToString();            label161.Text = komut11.ExecuteScalar().ToString();          label162.Text = komut12.ExecuteScalar().ToString();            label163.Text = komut13.ExecuteScalar().ToString();            label164.Text = komut14.ExecuteScalar().ToString();          label165.Text = komut15.ExecuteScalar().ToString();          label166.Text = komut16.ExecuteScalar().ToString();          label167.Text = komut17.ExecuteScalar().ToString();          label168.Text = komut18.ExecuteScalar().ToString();            label169.Text = komut19.ExecuteScalar().ToString();           label170.Text = komut20.ExecuteScalar().ToString();           label171.Text = komut21.ExecuteScalar().ToString();           label172.Text = komut22.ExecuteScalar().ToString();          label173.Text = komut23.ExecuteScalar().ToString();            label174.Text = komut24.ExecuteScalar().ToString();          label175.Text = komut25.ExecuteScalar().ToString();           

    komut.ExecuteNonQuery();            baglanti.Close();


    12 Ekim 2017 Perşembe 09:42

Yanıtlar

  • Selam OğuzArslan

    Neden lable kullandığını pek anlayamadım ancak pencere ne bir flowLayoutPanel ekleyip kodlarını aşağıdaki gibi düzenler isen lable ları tek tek eklemek zorunda kalmazsın ayrıca yeni bir ilçe eklendiği yada çıkarıldığı zaman lable eklemek yada çıkartmakla da uğraşmazsın

        private void button1_Click(object sender, EventArgs e)
            {
                SqlConnection con = new SqlConnection("Data Source=????;Initial Catalog=???;Integrated Security=True");
                SqlDataAdapter adp = new SqlDataAdapter("select ilce_adi,sum(toplam_tutar) from istatistik  GROUP BY ilce_adi ORDER BY ilce_adi ASC", con);
                
                DataTable dt = new DataTable();
                adp.Fill(dt);
    
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    Label lbl1 = new Label();
                    lbl1.Text = dt.Rows[i].ItemArray[0].ToString();
                    Label lbl2 = new Label();
                    lbl2.Text = Convert.ToDouble(dt.Rows[i].ItemArray[1]).ToString("N3");
                    lbl2.AutoSize = false;
                    lbl2.TextAlign = ContentAlignment.MiddleRight;
                    flowLayoutPanel1.Controls.Add(lbl1);
                    flowLayoutPanel1.Controls.Add(lbl2);
    
                }

    12 Ekim 2017 Perşembe 14:34
  • lbl2.Text = Convert.ToDouble(dt.Rows[i].ItemArray[1]).ToString("N3");

    Bu satırda zaten ilçeye ait toplam tutar mevcut

    12 Ekim 2017 Perşembe 14:50

Tüm Yanıtlar

  • Selam OğuzArslan

    Neden lable kullandığını pek anlayamadım ancak pencere ne bir flowLayoutPanel ekleyip kodlarını aşağıdaki gibi düzenler isen lable ları tek tek eklemek zorunda kalmazsın ayrıca yeni bir ilçe eklendiği yada çıkarıldığı zaman lable eklemek yada çıkartmakla da uğraşmazsın

        private void button1_Click(object sender, EventArgs e)
            {
                SqlConnection con = new SqlConnection("Data Source=????;Initial Catalog=???;Integrated Security=True");
                SqlDataAdapter adp = new SqlDataAdapter("select ilce_adi,sum(toplam_tutar) from istatistik  GROUP BY ilce_adi ORDER BY ilce_adi ASC", con);
                
                DataTable dt = new DataTable();
                adp.Fill(dt);
    
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    Label lbl1 = new Label();
                    lbl1.Text = dt.Rows[i].ItemArray[0].ToString();
                    Label lbl2 = new Label();
                    lbl2.Text = Convert.ToDouble(dt.Rows[i].ItemArray[1]).ToString("N3");
                    lbl2.AutoSize = false;
                    lbl2.TextAlign = ContentAlignment.MiddleRight;
                    flowLayoutPanel1.Controls.Add(lbl1);
                    flowLayoutPanel1.Controls.Add(lbl2);
    
                }

    12 Ekim 2017 Perşembe 14:34
  • Hocam çok sağol.

    Peki İlçeye ait toplam tutarı flowLayoutPanel'den nasıl alacağım. Grafikte göstereceğim de...

    İlk defa kullanıyorum

    12 Ekim 2017 Perşembe 14:44
  • lbl2.Text = Convert.ToDouble(dt.Rows[i].ItemArray[1]).ToString("N3");

    Bu satırda zaten ilçeye ait toplam tutar mevcut

    12 Ekim 2017 Perşembe 14:50
  • Teşekkür ederim
    12 Ekim 2017 Perşembe 14:52
  • Hocam butona bastıkça üstüne yüklüyor. dt.Clear(); yaptım tablo yüklenmeden önce ama olmadı
    12 Ekim 2017 Perşembe 15:14
  • for döngüsünden önce flowLayoutPanel1 i temizler isen  sorun kalmaz.

     flowLayoutPanel1.Controls.Clear();

    13 Ekim 2017 Cuma 07:33