C# Mantık Sorusu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Jigsaw
    Jigsaw's avatar
    Kayıt Tarihi: 07/Nisan/2011
    Erkek

    Merhabalar arkadaşlar,

    Bir kursun öğrencilerinin olduğu bir  veritabanı var. Veritabanında kayıt tarihleri başlama tarihleri kayıt dondurma tarihleri vs var. Şimdi bu kursta eğitimler birebir özel ders şeklinde verildiği için ödemeler aylık alınıyor. 6 aylık kur vs tarzında değil.  

     

    Yapmaya çalıştığım şey; eğitmen bazlı bir sorguda başlama tarihinden itibaren benim seçmiş olduğum aya kadar eğerki kaydını dondurmamışsa; eğitmenin o ay ki öğrenci sayısını 1 arttırsın. 

     

    Örnek: Ahmet isimli öğrenci 01.01.2016 tarihinde başlamış olsun. Eğitmeninin adı da Mehmet olsun.  Formumda 3 adet combobox var. Birinde eğitmenini seçiyorum Mehmet Yılmaz, diğerinde ay seçiyorum Haziran, diğerinde yılı seçiyorum 2016.  Buraya kadar sorun yok.  Bir de veritabanında kayıt dondurma tarihi alanı var. İstiyorum ki öğrencinin kaydı dondurulmamışsa VE baslama tarihi seçtiğim ay ve yıldan küçükse öğrenci sayısına eklesin. Ama kayıt dondurma tarihi ve baslama tarihi seçtiğim ay ve yıldan küçükse kayıt dondurulan tarihe kadar öğrenci sayısı göstersin (diyelim öğrencinin baslama tarihi Ocak 2016 ,   kayıt dondurma tarihi de Mart 2016 . Benim seçmiş olduğum tarih te Haziran 2016 olsun. Mart a kadar öğrenci sayısında göstersin. Mart tan sonrasına göstermesin) ..

     

    Çok karışmış olabilir. Kusuruma bakmayın..

    Mantıkta yardımcı olabilecek varsa süper olur..

     

    Denemiş olduğum SQL kodu : 

    int ay= cmbbox_secilenay.SelectedIndex + 1;
    int yil= Convert.ToInt32(cmbbox_secilenyil.Text);
    
    var query2 = String.Format("select * from TBL_Ogrenci a where (a.secilen_ogretmen='" + cmb_ogretmensec2.Text + "') and (a.baslama_tarihi < CDATE('01/{0}/{1}') and (a.dondurtarih<CDATE('01/{0}/{1}'))) ", ay, yil);

     


    Başkalarına hakim olan kuvvetlidir, kendine hakim olan kudretlidir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SSH
    SSH's avatar
    Kayıt Tarihi: 21/Temmuz/2005
    Erkek

    okudukça kafam karıştı  :) şunu net bir şekilde sade dille anlat çözelim


    sırıtma la.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sharp
    Sharp's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    select * from TBL_Ogrenci

     where (secilen_ogretmen='" + cmb_ogretmensec2.Text + "') -- Öğretmene uyanlar

    and (DATEPART(YEAR,baslama_tarihi) < (CONVERT(INT, "+yil+") -- başlama tarihinin yıl kısmını alıp senin gönderdiğin yıldan küçük olanlar

    AND (DATEPART(YEAR,dondurtarih) < (CONVERT(INT, "+yil+")  -- dondurma tarihinin yıl kısmını alıp senin gönderdiğin yıldan küçük olanlar

    AND (DATEPART(MONTH,baslama_tarihi) < (CONVERT(INT, "+ay+")  -- başlama tarihinin ay kısmını alıp senin gönderdiğin yıldan küçük olanlar

    AND (DATEPART(MONTH,dondurtarih) < (CONVERT(INT, "+ay+") -- dondurma tarihinin ay kısmını alıp senin gönderdiğin yıldan küçük olanlar

     

    anladığım kadarıyla yapmaya çalıştığın buydu 


    www.yesilgrow.com - Growshop
Toplam Hit: 913 Toplam Mesaj: 3
c# tarih işlemleri