Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
4
Cevap
295
Tıklama
0
Öne Çıkarma
WPF VERİTABANINDAN ÇEKİLEN SAYILARIN TOPLAMINI BULMA
M
2 yıl
Er
Konu Sahibi

[konugaleri=156044918]ARKADAŞLAR RESİMLERDE KOD BLOKLARIMI VE ÇIKTIMI PAYLAŞTIM GÜNLERDİR UĞRAŞIYORUM BİR ÇÖZÜM BULAMADIM ÇIKTIDAKİ TUTAR KISMINI DATABASEDEN ÇEKMETEYİM YAPMAK İSTEDİĞİM ŞEY BU TUTAR KISMINDA YAZAN SAYILARI TOPLAYIP BİR DEĞİŞKENE ATAMAK VE EKRANA YAZDIRABİLMEK. ONUN HARİCİNDE WPF KISMINDADA ANASAYFA KISMINA BU TOPLAM ARTTIKÇA YÜKSEKLİĞİ ARTACAK BİR DİKDÖRTGEN OLUŞTURMAK İSTİYORUM GRAFİK TARZINDA. YARDIMCI OLABİLECEK VARMI

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil




G
2 yıl
Yarbay

bu gittiğin mantığa göre toplamgider diye bir değişken oluştur gider doldur methodunun içerisinde giderlerin toplamını sql kullanarak al toplamgidere ata onu da formda göster dikdörtgen kısmına gelince dikdörtgenin Yüksekliğini toplama bağlayabilirsin ancak arttıkça artar ama belli seviyeden sonra formun yüksekliğini geçecek ekranı kaplayacak bir mantığı olmayacak
bu arada entityframework vb bişey kullansan daha iyi olur eski usul sql kalmadı çok geriden gidiyorsun ayrıca wpf de de işler böyle yürümez winforms gibi düşünme

veritabansız örnek bir proje yaptım bakarsın

https://s2.dosya.tc/server24/shq8up/SampleTest.rar.html


Bu mesaja 2 cevap geldi.
M
2 yıl
Er
Konu Sahibi

 
HOCAM İŞİN İÇİNDEN ÇIKAMADIM AŞAĞIDA KOD BLOKLARIMI PAYLAŞTIM BU KOD BLOKLARI ÜZERİNDEN ÇÖZÜM YAZABİLİRMİSİNİZ RİCA ETSEM



******************************************

public static bool GiderEklemeİslemi(Prm veri)
  {
      sbyte i = 0;
      SQLiteConnection con = new SQLiteConnection(@"Data Source=C:\Users\MehmetDgl\Desktop\TEZ\HesLog\WpfApp1\bin\Debug\DB\heslog.db");
      SQLiteCommand com = new SQLiteCommand("Insert into gider_listesi (Tarih_Gider , Aktarılan_Hesap_Gider, Tutar_Gider, Aktaran_Hesap_Gider, Araç_Plakası_Id) values (@Tarih_Gider , @Aktarılan_Hesap_Gider, @Tutar_Gider,@Aktaran_Hesap_Gider,@Araç_Plakası_Id)", con);
      com.Parameters.AddWithValue("@Tarih_Gider", veri.Tarih_Gider);
      com.Parameters.AddWithValue("@Aktarılan_Hesap_Gider", veri.Aktarılan_Hesap_Gider);
      com.Parameters.AddWithValue("@Tutar_Gider", veri.Tutar_Gider);
      com.Parameters.AddWithValue("@Aktaran_Hesap_Gider", veri.Aktaran_Hesap_Gider);
      com.Parameters.AddWithValue("@Araç_Plakası_Id", veri.Araç_Plakası_Id);
      veri.Toplam = veri.Tutar_Gider(veri => veri.);
      try
      {
      con.Open();
      i = (sbyte)com.ExecuteNonQuery();
      }
      catch (Exception ex)
      {
        MessageBox.Show(ex.ToString());
      }
      finally
      {
        con.Dispose();
      }
      if (i > 0)
      {
        return true;
      }
      else
      {
        return false;
      }
    }




*****************************************************


 private string tarih_Gider;
    private string aktarılan_Hesap_Gider;
    private int tutar_Gider;
    private string aktaran_Hesap_Gider;
    private string araç_Plakası_Id;
    private double toplam;

    public string Tarih_Gider
    {
      get => tarih_Gider;
      set => tarih_Gider = value;
    }
    public string Aktarılan_Hesap_Gider
    {
      get => aktarılan_Hesap_Gider;
      set => aktarılan_Hesap_Gider = value;
    }
    public int Tutar_Gider
    {
      get => tutar_Gider;
      set => tutar_Gider = value;
    }
    public string Aktaran_Hesap_Gider
    {
      get => aktaran_Hesap_Gider;
      set => aktaran_Hesap_Gider = value;
    }
    public string Araç_Plakası_Id
    {
      get => araç_Plakası_Id;
      set => araç_Plakası_Id = value;
    }



****************************************************


 private void btn_AracEkleBilgi_Click(object sender, RoutedEventArgs e)
    {
      // Karşılaşılan hata if içerisinde textbox ve combobox karşılaştırmalarında operatörler hata veriyor yerel değişken stringe atayıp o şekilde kulanıyoruz
      string txtAracPlakasi = txt_AracPlakasi.Text;
      string txtDorsePlakasi = txt_DorsePlakasi.Text;
      string dtbAracAlimTarihi = dtb_AracAlimTarihi.Text;
      string dtbDorseAlimTarihi = dtb_DorseAlimTarihi.Text;
      string cmbCalistigiFirma = cmb_CalistigiFirma.Text; ;
      string cmbCalisan1 = cmb_Calisan1.Text;
      string cmbCalisan2 = cmb_Calisan2.Text;
      string dtbAracMuayeneTarihi = dtb_AracMuayeneTarihi.Text;
      string dtbDorseMuayeneTarihi = dtb_DorseMuayeneTarihi.Text;


      if (txtAracPlakasi == "" || txtDorsePlakasi == "" || dtbAracAlimTarihi == "" || dtbDorseAlimTarihi == "" || cmbCalistigiFirma == "" || cmbCalisan1 == "" || cmbCalisan2 == "" || dtbAracMuayeneTarihi == "" || dtbDorseMuayeneTarihi == "")
      {
        Prm.Hata = 1;
        BilgiEkrani bilgi = new BilgiEkrani();
        Prm.BilgiContent = "Tüm Alanlar Zorunludur Lütfen Doldurunuz ! ";
        bilgi.Show();
      }

      else
      {
        Prm veri = new Prm();
        veri.plaka = txt_AracPlakasi.Text;
        veri.dorse_plaka = txt_DorsePlakasi.Text;
        veri.arac_alim_tarihi = dtb_AracAlimTarihi.Text;
        veri.dorse_alim_tarihi = dtb_DorseAlimTarihi.Text;
        veri.calistigi_firma = cmb_CalistigiFirma.Text; ;
        veri.calisan1 = cmb_Calisan1.Text;
        veri.calisan2 = cmb_Calisan2.Text;
        veri.arac_muayene_tarihi = dtb_AracMuayeneTarihi.Text;
        veri.dorse_muayene_tarihi= dtb_DorseMuayeneTarihi.Text;


        if (DBislemciHelpers.AracEklemeİslemi(veri))
        {
          Prm.Hata = 0;
          BilgiEkrani bilgi = new BilgiEkrani();
          Prm.BilgiContent = "EKLEME İŞLEMİ BAŞARILI";
          bilgi.Show();
        }
        else
        {
          Prm.Hata = 1;
          BilgiEkrani bilgi = new BilgiEkrani();
          Prm.BilgiContent = "EKLEME İŞLEMİ BAŞARISIZ";
          bilgi.Show();
        }

      }
    }
  }
}




***************************************************************************




Bu mesajda bahsedilenler: @Gökşen PASLI
M
2 yıl
Er
Konu Sahibi

buda gider doldur metodum


public static bool GiderDoldur(DataGrid grd)
    {
      // veri akışında problem varmı yokmu diye kontrol sağlamak amacıyla sbyte değişenini oluşturduk
      sbyte i = 0;
      SQLiteConnection con = new SQLiteConnection(@"Data Source=C:\Users\MehmetDgl\Desktop\TEZ\HesLog\WpfApp1\bin\Debug\DB\heslog.db");
      // tümünü tbl_GelirListesi nden getir 
      SQLiteCommand com = new SQLiteCommand("Select\r\n  gider_listesi.Tarih_Gider,\r\n  araclar.plaka,\r\n  araclar.dorse_plaka,\r\n  gider_listesi.Aktaran_Hesap_Gider,\r\n  gider_listesi.Tutar_Gider,\r\n  gider_listesi.Aktarılan_Hesap_Gider\r\nFrom\r\n  araclar Inner Join\r\n  gider_listesi On gider_listesi.Araç_Plakası_Id = araclar.ID", con);


      try
      {
        // data table oluşturup içerisine veriyi gönderip datagridin ıte sourcesine gelen veriyi bastırıyoruz
        SQLiteDataAdapter adp = new SQLiteDataAdapter(com);
        // bir datatable nesnesi olulturduk
        DataTable dt = new DataTable();
        adp.Fill(dt);
        grd.ItemsSource = null;
        grd.ItemsSource = dt.DefaultView;
      }
      catch (Exception e)
      {
        // hatayı e to string olarak bas 
        MessageBox.Show(e.ToString());

      }
      finally { con.Dispose(); }
      if (i > 0) { return true; } else { return false; }
    }
    public static bool AracDoldur(DataGrid grd)
    {
      // veri akışında problem varmı yokmu diye kontrol sağlamak amacıyla sbyte değişenini oluşturduk
      sbyte i = 0;
      SQLiteConnection con = new SQLiteConnection(@"Data Source=C:\Users\MehmetDgl\Desktop\TEZ\HesLog\WpfApp1\bin\Debug\DB\heslog.db");
      // tümünü tbl_GelirListesi nden getir 
      SQLiteCommand com = new SQLiteCommand("select * from araclar", con);


      try
      {
        // data table oluşturup içerisine veriyi gönderip datagridin ıte sourcesine gelen veriyi bastırıyoruz
        SQLiteDataAdapter adp = new SQLiteDataAdapter(com);
        // bir datatable nesnesi olulturduk
        DataTable dt = new DataTable();
        adp.Fill(dt);
        grd.ItemsSource = null;
        grd.ItemsSource = dt.DefaultView;
      }
      catch (Exception e)
      {
        // hatayı e to string olarak bas 
        MessageBox.Show(e.ToString());

      }
      finally { con.Dispose(); }
      if (i > 0) { return true; } else { return false; }
    }




Bu mesajda bahsedilenler: @Gökşen PASLI
G
2 yıl
Yarbay

https://www.c-sharpcorner.com/article/calculate-the-sum-of-the-datatable-column-in-c-sharp/
datatable dolduktan sonra burdaki yöntemleri uygula bi değişkene at onu göstermeye çalış kodu test etme imkanım yok



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.