Forum

C# tarih fortmatı (...
 
Bildirimler
Hepsini Temizle

C# tarih fortmatı (Db : Oracle

5 Gönderiler
2 Üyeler
0 Reactions
1,039 Görüntüleme
(@gokhansen)
Gönderiler: 55
Trusted Member
Konu başlatıcı
 
[#526708]

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


 
Gönderildi : 20/02/2018 19:29
(@aliuysal)
Gönderiler: 290
Üye
 

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.


Dijital dönüşüm başlıyor...
RFID Sayım
WinFlow e-Fatura Onay Akış Süreç Yazılımı
Android El Terminali
Elektrikli Araç Şarj Yazılım Platformu
RFID Demirbaş
QrCode Api

 
Gönderildi : 20/02/2018 19:46
(@gokhansen)
Gönderiler: 55
Trusted Member
Konu başlatıcı
 

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.


 
Gönderildi : 20/02/2018 19:57
(@aliuysal)
Gönderiler: 290
Üye
 
DateTime dt = datetimePicker1.Value;
TimeSpan st = new Timespan(dt.Day, dt.Month, dt.Year, dt.Hour, dt.Minute, dt.Second);

Dijital dönüşüm başlıyor...
RFID Sayım
WinFlow e-Fatura Onay Akış Süreç Yazılımı
Android El Terminali
Elektrikli Araç Şarj Yazılım Platformu
RFID Demirbaş
QrCode Api

 
Gönderildi : 20/02/2018 20:27
(@gokhansen)
Gönderiler: 55
Trusted Member
Konu başlatıcı
 

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...


 
Gönderildi : 20/02/2018 20:43
Paylaş: