我想我錯過了一些關於可空類型的基本概念。希望這個例子能夠開啓新的理解,但至少,也許我們可以讓這件事情正確地工作。爲什麼我的Nullable(Of Int32)= 0後,我將它設置爲Nothing?
在一類(對話形式),我聲明:
Property ProductStructureHeaderKey As Int32?
在另一級,我聲明對話框的實例,並嘗試設置屬性與該行:
dr.ProductStructureHeaderKey = If(parentRow.Cells(1).Value Is Nothing, Nothing, Int32.Parse(parentRow.Cells(1).Value))
當該行爲該屬性賦值Nothing時,該屬性等於0.(然後,當我希望它傳遞NULL時,它將0傳遞給DB)。尋找代碼(SO,MSDN等),看起來像我正在做的事情,但顯然,我不是。所以,朋友們,我做錯了什麼?我如何使用Nullable類型來滿足我的需求?
'DBNull'是不一樣的'Nothing';它可能有助於看到「稍後」部分應該可能通過'DBNull' – Plutonix
我有其他地方的代碼處理Nothing到NULL轉換,問題實際上是將此Nullable設置爲Nothing。但蒂姆的回答指向了我愚蠢的錯誤。 – clweeks