2010-02-23 178 views
0

我有以下查詢LINQ查詢,其中列包含空值

Dim get_rmf_2 = From rmf In t_rmf _ 
     Where rmf!NIVP = nivp_rap 

當我運行它,我得到一個錯誤:

Operator '=' is not defined for type 'DBNull' and string "test". 

我懷疑這是因爲在列「NIVP」數據表包含空值,我試過沒有空值的同樣的東西,它的工作原理。

那麼我該如何做這項工作? ;列「NIVP」確實有一行「測試」,並且正常的SQL查詢工作正常。

+0

什麼是RMF NIVP嗎?看起來您可能已將查詢處理到內存中,然後對其進行評估。通常,LINQ將在數據庫中執行查詢併爲您處理這種情況。 – smaclell 2010-02-23 16:38:02

+0

以及查詢數據表(t_rmf)rmf!NIVP參照該數據表的一列。 我也會在這個問題上改變這個。 – Iulian 2010-02-23 16:40:28

回答

2

我沒那麼熟悉VB語法LINQ但你可以嘗試這樣的事情:

Dim get_rmf_2 = From rmf In t_rmf _ 
     Where Not IsDBNull(rmf!NIVP) AndAlso rmf!NIVP = nivp_rap 
+0

謝謝,它做到了。 – Iulian 2010-02-23 17:01:10