• 10-10-2010, 21:47:44
    #1
    Üyeliği durduruldu
    arkadaşlar insert sorgusunda datetimepicker ile sql'e tarih ekliyorum. sql veri tipi datetime.

    eklediğim kod:
    com.Parameters.Add("@tarih",  Convert.ToDateTime(dateTimePicker2.Text));
    ana formda ise bir datetime daha var. orada seçilen tarih ile arama yaptırmak istiyorum. formatlar çakıştı sanırım aramalar listelenmiyor. iki datetimepicker formatımda long türünde.

    burada nasıl bir değişiklik yapmam gerekiyor?
    SqlCommand cmd = new SqlCommand(@"SELECT * FROM liste WHERE tarih  LIKE '%" + dateTimePicker2.Text + "%'", con);
    teşekkürler
  • 10-10-2010, 22:32:05
    #2
    bende Linqtosql kullansaydın böle birşey ile karşılaşmazdın. linq sorgusu istersen yazabilirim
  • 10-10-2010, 22:37:27
    #3
    Alıntı
    com.Parameters.Add("tarih", SqldbType.Datetime).Value=tarihiniz;
    şeklinde deneyin.

    Format tutmuyorsa,

    Alıntı
    Convert.ToDateTime(tarih).ToString("yyyy-MM-dd")
    gibi deneyebilirsiniz.

    *not: Yazım kurallarına dikkat etmedim.
  • 10-10-2010, 23:06:31
    #4
    Eposta Aktivasyonu Gerekmekte
    dateTimePicker2.Text
    değil
    dateTimePicker2.value.ToString()
    yapmalısın

    Birde sql sorgularında parametre kullanın daha sağlıklı olur.
  • 10-10-2010, 23:53:25
    #5
    Üyeliği durduruldu
    evet eklerken text değil value ile eklemeliymişim. ancak şimdi yine arama yapmıyor. datetimepicker üzerinden değil manuel olarak aratıyorum ama sonuç yok. aynı sql'de gözüktüğü gibi aratıyorum yine olmuyor :s

    bu şekilde

    @"SELECT * FROM liste WHERE tarih LIKE '%10.10.2010 00:00:00%'"
  • 11-10-2010, 15:03:26
    #6
    Üyeliği durduruldu
    çözdüm arkadaşlar

    bu kodu:
    com.Parameters.Add("@tarih",  Convert.ToDateTime(dateTimePicker2.Text));
    bu şekilde değiştirdim (eklerken ve ararken convert etmeden direk formatı vererek ve text yerine value diyerek)
    com.Parameters.Add("@tarih", (dateTimePicker2.value.ToString("yyyy-MM-dd")));