arkadaşlar visual studioda bir uygulama geliştiriyorum fakat sorun şuki date formatında datetimepickerlardan gelen verilerde bu hatayı alıyorum... önceden kayıt yapıyordu fakat artık işe yaramıyor anlamıyorum bir anda nasıl bu hata ortaya çıktı çözümünüde bulamıyorum yardımcı olursanız sevinirim...
Private Sub kaydet() Dim date1, date2, date3 As Date date1 = DateTimePicker1.Value.ToString date2 = DateTimePicker2.Value.ToString date3 = DateTimePicker3.Value.ToString Dim sorgu As String = "insert into ilkyardimcikayitlar (tckimlikno,isimsoyisim,sertifikatipi,sertifikano,isletme,no,egitimbaslangic,egitimbitis,gecerlilik) values('" & TextBox1.Text & "' , '" & TextBox2.Text & "' , '" & TextBox3.Text & "', '" & TextBox4.Text & "', '" & ComboBox1.SelectedIndex & "', '" & TextBox5.Text & "', '" & date1 & "', '" & date2 & "', '" & date3 & "')" komut = New SqlCommand(sorgu, baglan) baglan.Open() komut.ExecuteNonQuery() baglan.Close() End Sub
hayır hocam derin bi araştırma sonucunda buldum ve çözdüm bu sqlin ingliz tarih formatını yani MMM.dd.yyyy formatını kullandığından kaynaklanıyor tarihi string alıp datetimepickerdan çektiğimiz veriyi parçalamamız gerekiyormuş... yinede ilgin için çok teşekkür ederim...
ben bu hatayı halen alıyorum ve çözüm bulamadım. Veritabanımda alanım date olarak oluşturuldu. Eklemek için kullandığım kod ise string og_no = textBox1.Text; DateTime tarih = dateTimePicker1.Value; string sorgu=String.Format("insert into deneme(og_no,kay_tar) values('{0}','{1}')" ,og_no, @"tarih");
baglanti=new SqlConnection(baglan.ConnectionString); komut = new SqlCommand(sorgu, baglanti); komut.Parameters.AddWithValue("@tarih", Convert.ToDateTime(tarih.ToString("MMM.dd.yyyy"))); birçok tarih formatı türünü denedim yyyy-MM-dd gibi bir türlü sonuç alamadım.
eğer databasende egitim baslangic egitim bitis ve egitim gecerlilik gibi alanlar datetime olarak tanımlanmış ise sorun burada
date1 = DateTime.Parse( DateTimePicker1.Value.ToString)
date2 = DateTime.Parse( DateTimePicker2.Value.ToString)
date3 =DateTime.Parse( DateTimePicker3.Value.ToString)
biçiminde bunları datetime tipine dönüşştürmen gerek
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesaja 1 cevap geldi. Cevapları Gizle
Veritabanımda alanım date olarak oluşturuldu. Eklemek için kullandığım kod ise
string og_no = textBox1.Text;
DateTime tarih = dateTimePicker1.Value;
string sorgu=String.Format("insert into deneme(og_no,kay_tar) values('{0}','{1}')"
,og_no, @"tarih");
baglanti=new SqlConnection(baglan.ConnectionString);
komut = new SqlCommand(sorgu, baglanti);
komut.Parameters.AddWithValue("@tarih", Convert.ToDateTime(tarih.ToString("MMM.dd.yyyy")));
birçok tarih formatı türünü denedim yyyy-MM-dd gibi bir türlü sonuç alamadım.