none
null değer taması RRS feed

  • Soru

  • Merhaba Arkadaşlar,
    tablo içerisinde int değerinde bir kolonum var bu kolona insert sırasında null değer göndermem gerekiyor. propety özelliğini string, object, var da yaptım bu şekilde parametre ilede insert yaptırıyorum tabloya baktığımda o kolonda 0 atıyor null nasıl gönderebilirim.

    27 Ocak 2016 Çarşamba 12:24

Yanıtlar

  • Ya ne desem bilmiyorum, herhalde C# demek istiyorsun. Bu C#'in temeli. ID null ise nasil ToString() metodunu cagiriyorsun ki? Mesaji oku, acik acik yaziyor. ID gibi bir seyi niye NULL gonderirsin, o senin problemin dersek:

    int? v = null;
    //...
    cmd.Parameters.AddWithValue("@v", DBNull.Value);
    //..
    if (v.HasValue)
    {
      cmd.Parameters["@v"].Value = v.Value;
    }
    

    • Yanıt Olarak İşaretleyen csharpp 27 Ocak 2016 Çarşamba 19:07
    27 Ocak 2016 Çarşamba 16:18

Tüm Yanıtlar

  • Ya ne olur su sorulari daha anlasilir sorun. Tablo ne? MS SQL Server tablosundan mi bahsediyorsun? Oyle ise temel olarak 2 yolu var (oncelikle o kolon NULL kabul ediyor olmali):

    1. O kolonu hic gondermezsin (insert into tabloAdi (kolon1, kolon2, ...) values (....) icerisinde o kolonun adi hic gecmez). Eger bir default tanimli degil ise NULL olur.
    2. O kolon icin Null gonderirsin. (insert into tabloAdi (intKolon, ....) values (@v, ... ) - @v = null).


    • Yanıt Olarak Öneren Soner KOYLU 27 Ocak 2016 Çarşamba 13:55
    27 Ocak 2016 Çarşamba 12:41
  • Çetin abi sql tarafına soru sorduğum zaman zaten sql formuna soruyorum :) biraz daha dikkat ederim kusura bakmayın. 1. o kolona hiç göndermezsiniz dediniz ama default değerde gönderebilirim değer yoksa zaten null göndermeye çalışıyorum.
    2. O kolon için null gönderirsiniz dediniz,
    ID propertiysini ojbect tanımlamıştım belki null gönderebilirim diye
    cmd.Parameters.AddWithValue("@ID", ID.ToString() == "" ? null : ID); bu şekilde bir gönderim yaptığımda bu hatayı aldım. Object reference not set to an instance of an object.
    27 Ocak 2016 Çarşamba 15:51
  • "" ile null olması farklı şeyler.

    cmd.Parameters.AddWithValue("@ID", ID ?? null);
    şeklinde dener misin?


    Herkes mevcut projesi bitince daha iyi ve güvenli kod yazmaya başlayacakmış. Hazır olun Türkiye'de yazılım çağ atlamak üzere

    27 Ocak 2016 Çarşamba 16:07
  • Ya ne desem bilmiyorum, herhalde C# demek istiyorsun. Bu C#'in temeli. ID null ise nasil ToString() metodunu cagiriyorsun ki? Mesaji oku, acik acik yaziyor. ID gibi bir seyi niye NULL gonderirsin, o senin problemin dersek:

    int? v = null;
    //...
    cmd.Parameters.AddWithValue("@v", DBNull.Value);
    //..
    if (v.HasValue)
    {
      cmd.Parameters["@v"].Value = v.Value;
    }
    

    • Yanıt Olarak İşaretleyen csharpp 27 Ocak 2016 Çarşamba 19:07
    27 Ocak 2016 Çarşamba 16:18
  • Çok teşekkür ediyorum abi yardımlarınız için oldu.
    27 Ocak 2016 Çarşamba 19:07