• 0

كيف أحصل على جميع الخانات ذات قيمة DBNull الموجودة بـ Data Table على Vb.net؟

لدي Data Table ملأتها بـ Linq على Vb.net وأريد معرفة الخانات التي بها DBNull داخل الجدول، كيف ذلك؟

مع العلم أني بدأت في كتابة الكود:

 

Private Function IsNotNullViolated(dt As DataTable, ColumnName As String) As Boolean

    Dim IsOk As Boolean = True

    Dim violatingCells =
        dt.AsEnumerable() _
        .Where(Function(i) i.RowState <> DataRowState.Deleted And (IsDBNull(i.Item(ColumnName))))

    For Each violatingCell In violatingCells
        violatingCell.SetColumnError(ColumnName, "Error, Violating Not Null")
        IsOk = False
    Next

    Return Not IsOk

End Function

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يمكنك استعمال الدالة Enumerable.Range والتي تولّد مجال من الأعداد الرقمية، للحصول على عدد الخانات، ثم المرور عليها بواسطة حلقة التكرار والتأكد من محتواها، بهذا الشكل:

Dim violatingRows =
    dt.AsEnumerable() _
    .Where(Function(i) i.RowState <> DataRowState.Deleted And (Enumerable.Range(0, dt.Columns.Count).Any(Function(c) IsDBNull(i.Item(c)))))

For Each violatingRow In violatingRows
    For c = 0 To dt.Columns.Count
        If IsDBNull(violatingRow.Item(c)) Then
            violatingRow.SetColumnError(c, "Error, Violating Not Null")
        End If
    Next
    IsOk = False
Next

 

Enumerable.Range, méthode (Int32, Int32) 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن