Ne arayalım?

ARAMIZA KATILIN

BİZE ULAŞIN

Adres:

E-posta:

host/bin/bilisimlife.dll

iletisim@bilisimlife.net




 
Rserit
Developer
       
 1029  
 278

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value hatası ve çözümü

Merhabalar.
Bir kaç arkadaşım, DateTimePicker'dan tarihi seçtiğinde datagrid'e verinin gelmesini isterken bu hatayı alıyorlarmış.

C#'ta şöyle bir kod yazdığınızı varsayalım:


SqlDataAdapter Da = new SqlDataAdapter ("select sefer_yeri, tarih from Seferler Where tarih = '" + datetimepicker1.Value + "'", baglantim); 


Eğer bu sorgudan sonra " The conversion of a varchar data type to a datetime data type resulted in an out-of-range value." diye bir hata alıyor olabilirsiniz.

Hatanın Sebebi

Tarih formatından kaynaklanıyor. SQL Server'da tarih formatı yıl ay gündür. Ancak datetimepicker'da öyle değil. Bunu değiştirmeniz gerekir.

Hatanın Çözümü

C#'ta sorguyu yazmadan önce bir değişken tanımlayın. Aşağıdaki kod gayet açıktır.


string tarih = Convert.ToDateTime(datetimepicker1.Value).ToString("yyyy-MM-dd");



Bunu yazdıktan sonra tarih değişkenini sorguya dahil edin. Yani artık sorgumu aşağıdaki gibi oluyor:


SqlDataAdapter Da = new SqlDataAdapter ("select sefer_yeri, tarih from Seferler Where tarih = '" + tarih + "'", baglantim);

Developer.