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

  • Friday Night Cranks

    Friday Night

    27 Mayıs 2007
  • KIT KAT

    KIT KAT

    3 EKİM 2005
  • Sergio Fernandez

    Sergio Ferna

    1 EKİM 2009