Nasıl bir sqlparameter null atamak? | Netgez.com
SORU
29 Aralık 2010, ÇARŞAMBA


Nasıl bir sqlparameter null atamak?

Aşağıdaki kodu bir hata veriyor. - "int DBnull herhangi bir örtük dönüştürme."

SqlParameter[] parameters = new SqlParameter[1];    
SqlParameter planIndexParameter = new SqlParameter("@AgeIndex", SqlDbType.Int);
planIndexParameter.Value = (AgeItem.AgeIndex== null) ? DBNull.Value : AgeItem.AgeIndex;
parameters[0] = planIndexParameter;

CEVAP
29 Aralık 2010, ÇARŞAMBA


Sorun ?: operatör olamaz ya int bir değer ya da uyumlu olmayan DBNull tür bir değer, dönen çünkü dönüş türünü belirlemek.

Elbette Ageİndex örneği ?: ihtiyacını tatmin edecek olan 5 ** yazın çevirebilirsiniz.

Aşağıdaki gibi ?? boş coalascing operatörü kullanabilirsiniz

SqlParameter[] parameters = new SqlParameter[1];     
SqlParameter planIndexParameter = new SqlParameter("@AgeIndex", SqlDbType.Int);
planIndexParameter.Value = (object)AgeItem.AgeIndex ?? DBNull.Value;
parameters[0] = planIndexParameter; 

Burada sorunu açıklayan MSDN documentation ?: santral bir alıntı

Ya first_expression ve second_expression türü aynı olmalıdır, ya da örtülü bir dönüşüm başka bir türü var.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • kndx

    kndx

    11 Mart 2006
  • RiceBunny

    RiceBunny

    16 ÅžUBAT 2006