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 |
WPF VERİTABANINDAN ÇEKİLEN SAYILARIN TOPLAMINI BULMA
-
-
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
-
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();
}
}
}
}
}
***************************************************************************
-
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; }
}
-
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
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X