سؤال

في هذا المثال، يتم رفع خطأ إذا كان إما 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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top