none
Tarih 01.01.0001 Sorunu RRS feed

  • Soru

  • İyi çalışmalar,

    Veritabanında Tarih kısmına NULL girilmesini istiyorum fakat sistem kendi 01.01.0001 tarihini atmaya çalışıyor ve Catch e düşüyor.

    Tarih kısmına nasıl NULL ekleyebilirim ?

    Sorun Çözülmüştür :

    değişkeni

    DateTime? date; 
    olarak tanımlamamız gerekiyormuş.


    • Düzenleyen ali__can 6 Haziran 2015 Cumartesi 10:14 Sorun çözüldü
    1 Haziran 2015 Pazartesi 09:43

Yanıtlar

  • System DBNULL sql datetime için geçerli bir NULL değer değildir. Bunun yerine parametre tanımlarken;

    SqlDateTime SqlNullDate=SqlDateTime.NULL;

    kullanın ve örnek;

    List<SqlParameter> Params=new List<SqlParameter>{new SqlParameter {ParameterName="@Date",SqlDbType=SqlDbType.DateTime,Value=x.text==""?SqlNullDate:x.ConvertDateTime()};
    gibi bir şey yaparsınız.

    1 Haziran 2015 Pazartesi 16:09

Tüm Yanıtlar

  • İyi çalışmalar,

    Veritabanında Tarih kısmına NULL girilmesini istiyorum fakat sistem kendi 01.01.0001 tarihini atmaya çalışıyor ve Catch e düşüyor.

    Tarih kısmına nasıl NULL ekleyebilirim ?


    Kodlarını paylaşabilir misin? En azından tarihle ilgili olan kısımlarını

    .Net Developer

    1 Haziran 2015 Pazartesi 11:36
  • System DBNULL sql datetime için geçerli bir NULL değer değildir. Bunun yerine parametre tanımlarken;

    SqlDateTime SqlNullDate=SqlDateTime.NULL;

    kullanın ve örnek;

    List<SqlParameter> Params=new List<SqlParameter>{new SqlParameter {ParameterName="@Date",SqlDbType=SqlDbType.DateTime,Value=x.text==""?SqlNullDate:x.ConvertDateTime()};
    gibi bir şey yaparsınız.

    1 Haziran 2015 Pazartesi 16:09
  • Mrb,

    Bunun c# için olan, kodlarını paylaşabilir misiniz,

    Bu konuda çok muzdaribim. Tarih boş seçilince null değer atansin.

    SQL de veri 'date'

    C# datetimepicker ile seçiliyor. Seçim olmaz ise null deger atayacak. Ne yaptimsa Hata dönüyor. Char yapinca sorgu hata veriyor




    • Düzenleyen canleveent 16 Temmuz 2018 Pazartesi 20:15
    16 Temmuz 2018 Pazartesi 20:03
  •             using (SqlConnection con = new SqlConnection("Bağlantı ifadenizi buraya yazın.!."))
                {
                    using (SqlCommand com = new SqlCommand("INSERT INTO ([Tarih]) VALUES (@Tarih)", con))
                    {
                        if (!string.IsNullOrWhiteSpace(dateTarih.Text))
                            com.Parameters.AddWithValue("@Tarih", Convert.ToDateTime(dateTarih.Text));
                        else
                            com.Parameters.AddWithValue("@Tarih", SqlDateTime.Null);
                        con.Open();
                        com.ExecuteNonQuery();
                    }
                }
    


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak Öneren canleveent 17 Temmuz 2018 Salı 07:33
    16 Temmuz 2018 Pazartesi 20:43