C# Ve Msaccess Ayin 30 Ve 31İnci Gunu Sorunu
-
csharpta kucuk bi program yapmistim birine iki tahrih arasindaki yaptigi servisleri bi datagride atiyor ve bi labelde bunlarin toplam fiyatini hesapliyordu ama soyle bi sorun var programda ayin 30 ve 31 nci gununu sectiginde query hic bi sey getirmiyor sorun ne olabilir acaba
"SELECT * DATEVALUE(f.Tarih) >= #" + dtp1.Value.Date.ToString("dd-MM-yy") + "# AND DATEVALUE(f.Tarih) <= #" + dtp2.Value.Date.ToString("dd-MM-yy") + "#"
bide simdi gorudm ikinci tarihi hice sayiyor yani sadece ilk tarihten buyuk yada esit olan tarihleri aliyor
sizce sorun ne olabilir
-
sorunu buldum
-
her şeyden önce sorgun pek doğru görünmüyor * dan sonra from ve tablo adı eksik. ayrıca tarih karşılaştırması için between anahtar kelimeciğini kullanman iyi olur :)
http://www.w3schools.com/sql/sql_between.asp
http://www.techonthenet.com/sql/between.php
-
takvim kullanmıyosan 30 gün çeken günlerde 31 seçersen kayıt gelmez sorunun budur büyük ihtimalle şuraya cevap aramak için konu açıyosunuz sonra çözünce çözdüm yazıyosunuz amk nasıl çözdüğünüde yazsana forum burası 2 gün sonra aramalarda birisi konuyu bulacak senin cevabını görünce kulakların çınlıcak. birisi gelip buraya ben biliyorum ama sölemicem yazıyo mu ?
-
unbalanced bunu yazdı
her şeyden önce sorgun pek doğru görünmüyor * dan sonra from ve tablo adı eksik. ayrıca tarih karşılaştırması için between anahtar kelimeciğini kullanman iyi olur :)
http://www.w3schools.com/sql/sql_between.asp
http://www.techonthenet.com/sql/between.php
sorgu iyi de o kismi silmismistim size daha kolay gelir diye yoksa tam query soyle:
SELECT f.NrFletePranimit,f.NrGarancionit,g.KodiAparatures,g.NrKatallogut,g.NrSerik,g.NrBiznesit as NrFabrikes,g.EmriMbiemri,g.Vendi,g.DataShitjes,g.Telefoni,g.PikaShitjes,g.Kategoria as Ngjyra,g.Garancioni3Vjetor,f.DataPranimit,f.DataDorezimit,f.Kategoria,f.KodiGabimit,f.ShpenzimeteKompensimit,f.ShpenzimetMateriale,f.Transporti2,f.Totali,f.Komenti FROM tblFatura f,tblGarancioni g WHERE f.NrGarancionit = g.NrGarancionit AND f.DataDorezimit >= #" + dtpPrej.Value.Date.ToString("MM-dd-yyyy") + "# AND f.DataDorezimit <= #" + dtpNga.Value.Date.ToString("MM-dd-yyyy") + "#"
bide between de sorun degil ">= AND <=" ve between ayni sey
Sharp bunu yazdıtakvim kullanmıyosan 30 gün çeken günlerde 31 seçersen kayıt gelmez sorunun budur büyük ihtimalle şuraya cevap aramak için konu açıyosunuz sonra çözünce çözdüm yazıyosunuz amk nasıl çözdüğünüde yazsana forum burası 2 gün sonra aramalarda birisi konuyu bulacak senin cevabını görünce kulakların çınlıcak. birisi gelip buraya ben biliyorum ama sölemicem yazıyo mu ?
takvim kulaniyorum hocam salak degilim, o dedigin ihtimal aklima gelmemesi imkansiz olurdu takvim kulanmasaydim, yani sorun o degil soruya iyice baksaydin datetimepicker kulandigimi anlardin, diger kisimsa cok komplike etmene gerek yok ben biliyorum soylemem olayi degil eger birisi bu sorunla karsilasaydi konuyu bulurdu konuya yazardi yada bi pm atardi cevap verirdim cok abartmana gerek yok
----
bu arada cozum su access tarihi su sekilde goruyormus MM-dd-yyyy benim ise dd-MM-yyyy idi yani su sorudaki sorguda .ToString(dd-MM-yyyy) in yerine .ToString(MM-dd-yyyy) yazarsaniz bi hatayla karislasmasziniz