Linq استبدال dbnull مع سلسلة فارغة
سؤال
في هذا المثال، يتم رفع خطأ إذا كان إما row.FirstName
أو row.LastName
نكون NULL
.
كيف يمكنني إعادة كتابة Select
جملة، لتحويل قيمة DBNull إلى سلسلة فارغة ""
?
Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
Select row.FirstName, row.LastName
ملاحظة: نظرا لأن DataSet تمت كتابةها بشدة. استطيع ان استخدم row.isFirstNameNull()
, ، لكن IIF(row.isFirstNameNull(), "", row.FirstName)
لن تعمل لأن جميع المعلمات المشار إليها.
المحلول
في ملاحظتك قد ذكرت IIf(row.isFirstNameNull(), "", row.FirstName)
استبدال ذلك مع If(row.isFirstNameNull(), "", row.FirstName)
والتي لن تقيم الجزء الخاطئ إذا كان الشرط صحيحا
نصائح أخرى
يستخدم المشغل القصوري في VB "لو" :
Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
Select if(row.isFirstNameNull(), "", _
row.FirstName), if(row.isLastNameNull(), "", row.LastName)
ماذا عن row.FirstName ?? string.Empty
لا تنتمي إلى StackOverflow