لماذا يقوم إعداد قيمة صف مجموعة البيانات إلى لا شيء تهيئته إلى نوع البيانات minvalue؟
سؤال
عند إعداد عمود صف مجموعة البيانات إلى Nothing
, ، مثل row.Date = Nothing
, ، لماذا يهيئه إلى نوع البيانات minvalue؟ في هذه الحالة ، يتم تعيين ذلك 0000-01-01
. تم تعيين العمود للسماح NULL وما إلى ذلك ، وإذا لم أقم بتعيين الصف على أي شيء على الإطلاق ، فسيترك العمود فارغًا. فلماذا Nothing
تصرف بهذه الطريقة؟
في C# كنت سأضعه على DbNull
, ، أعتقد ، لكنني خضراء على vb.net - كما قد تكون قادرًا على معرفة ذلك. قون
المحلول
HPS صحيح أنه يجب عليك استخدامه DBNull.Value
لتعيين أ NULL
قيمة إلى عمود قاعدة البيانات.
row.Date = DBNull.Value
السبب الذي يجعلك ترى القيمة الافتراضية التي يتم تعيينها هو أن الكلمة الرئيسية Nothing
في VB.NET مشابه لـ default(T)
في C#، وليس C# null
الكلمة الرئيسية.
نصائح أخرى
أعتقد أنك ستتمكن من ضبط dbnull في vb.net أيضًا
table.Rows(0)(0) = System.DBNull.Value
أو row.Date = System.DBNull.Value
لتعيين "لا شيء" ، ستحتاج إلى الحصول على نوع لاغ