Günümüzde veritabanı Microsoft SQL olan ve bu veritabanı ile çalışmakta olan C# ile yazılmış programlar bir hayli yaygındır. Ben de bu tarz programlar geliştirmiş olan bir yazılım geliştiricisiyim. Bu tarz uygulamalar geliştirme sırasında çeşitli tipik hataları alıyorum. Bu hatalardan birisi de The Conversion of a Varchar Data Type to a Datetime Data hata açıklamasıdır. Bu hatasının sebebi ve çözümünü sizinle paylaşayım.
The Conversion of a Varchar Data Type to a Datetime Data Hata
ADO metodu kullanarak Microsoft SQL veritabanı ile bağlantı sağlayan bir C# uygulamanız varsa muhtemelen bu hatayı alacaksınız. Muhtemelen diyorum çünkü her durumda bu hatayı almayacaksınız. Bu hatayı almanızın en büyük sebebi Microsoft SQL veritabanında bulunan datetime formatı ile C# projenizde değişkenlerinizi tuttuğunuz datetime formatının farklı olmasından dolayıdır.
Microsoft SQL veritabanında bir tablo oluşturduğunuzu varsayalım. Nasıl tablo oluşturacağınızı bilmiyorsanız SQL veritabanında tablo oluşturmak başlıklı yazımı okuyabilirsiniz. SQL veritabanında oluşturduğunuz tablonun bir sütununda datetime tipinde bir değişken olduğunu varsayalım.
ADO sorgusu ile bu tabloya datetime tipinde bir veri eklemeye kalktığınız zaman datetime veri tipinin dönüşümünden dolayı hata alabilirsiniz. Bu Visual Studio’da bir exception olarak karşınıza gelebilir. Bunu cihazın dil ayarlarını değiştirmekle çözmek yerine sorgunuzdaki değişkenin formatını değiştirebilirsiniz. Sorgunuzda anlık tarihi kullandığınızı var sayıyorum ve aşağıdaki kod işinizi görecektir diye düşünüyorum.
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
Çocukluğumdan beri arabalara olan ilgim babam sayesinde başlamıştır. Araba manyağı seviyesinde bir ilgim var ancak bunu her ortamda dile getirmem. Teknolojiye ve bilgisayara olan ilgim kendimi tanımaya başladım başlayalı oldu. Şimdi ise kendimce kod yazabilen bir bilgisayar mühendisi olarak çalışıyorum.