2014-03-26 46 views
1

我的代碼中有以下行將值賦給數據表列。它可能爲空或價格。如何將DBNull分配給原始類型以便於數據庫插入

double? Price; 
price = range.Cells[i, j].Value2 == null ? Double.NaN : range.Cells[i,j].Value2; 
row["Price"] = **(price != Double.NaN) ? price.Value** : (object)DBNull.Value; 

VS 2010產生綠色波浪線說

表達類型始終是假的(在雙恆星內部的代碼),因爲雙能不能爲空

哪有我解決這個問題,以便我可以在數據庫表中爲價格指定null(如果需要的話)?

+0

你爲什麼在有'double?'的時候使用'NaN'?我們可以假設'價格'/'價格'不匹配只是一個錯字嗎? –

+0

是的。這是一個錯字。 – Sai

回答

4

使用Double.NaN不會幫助你,因爲NaN甚至不等於自己。目前還不清楚爲什麼你在兩個階段做到這一點 - 我只是建議:

row["Price"] = range.Cells[i, j].Value2 ?? (object) DBNull.Value; 
相關問題