Forum
Arkdaşlar merhaba,
Oracle veritabanında c# ile bir takım veriler çekmek istiyorum fakat bir sorgumda tarih aralığı vermem lazım.Aşağıya hem oracle hem de c# kodlarımı yazıyorum.Yardımcı olursanız sevinirim.
Oracle üzerinden sorgumu bu şekilde sorunsuz çalıştırıyorum(Toad ile)
...
AND P.GTARIH >= TO_DATE('12.01.2018 00:00','DD.MM.YYYY HH24:MI')
AND P.GTARIH <= TO_DATE('12.01.2018 23:59','DD.MM.YYYY HH24:MI')
C# kodlarım ise şöyle.(Form üzerindeki dateTimePicker nesnelerimin formatı "short" seçili. )
...
AND P.GTARIH >= TO_DATE('" + dateTimePicker1.Value.Date.ToShortDateString() + "','DD/MM/YYYY HH:MI:SS')
AND P.GTARIH <= TO_DATE('" + dateTimePicker2.Value.Date.ToShortDateString() + "','DD/MM/YYYY HH:MI:SS')";
Bu kodlarla iki tarihi de aynı yapıp(saat aralıkları farklı tabi) aratınca hiç sonuç döndürmüyor. Yalnız 1 günlük tarih aralığı verirsem sorun olmuyor
short date yaptığın için saat:dakika:saniye olmuyor, bu nedenle 1 günlük kayıtları çekebiliyorsun. çünkü saat formatı short da 00:00:00 olarak sorguluyor.
Timespan kullanarak tarih saat olarak getirmeniz gerekir.
short date yaptığın için saat:dakika:saniye olmuyor, bu nedenle 1 günlük kayıtları çekebiliyorsun. çünkü saat formatı short da 00:00:00 olarak sorguluyor.
Timespan kullanarak tarih saat olarak getirmeniz gerekir.
hocam örnek bir satır kod paylaşırsan sevinirim.
DateTime dt = datetimePicker1.Value;
TimeSpan st = new Timespan(dt.Day, dt.Month, dt.Year, dt.Hour, dt.Minute, dt.Second);
DateTime dt = datetimePicker1.Value; TimeSpan st = new Timespan(dt.Day, dt.Month, dt.Year, dt.Hour, dt.Minute, dt.Second);
new TimeSpan(dt.Day, dt.Month, dt.Year, dt.Hour, dt.Minute, dt.Second);
Buranın altını çiziyor hocam...