我正在研究從Excel電子表格導入的vb.net應用程序。保留雙變量中的NULL值
If rdr.HasRows Then
Do While rdr.Read()
If rdr.GetValue(0).Equals(System.DBNull.Value) Then
Return Nothing
Else
Return rdr.GetValue(0)
End If
Loop
Else
我用字符串值來存儲雙值和準備數據庫語句時,我會使用此代碼:
If (LastDayAverage = Nothing) Then
command.Parameters.AddWithValue("@WF_LAST_DAY_TAG", System.DBNull.Value)
Else
command.Parameters.AddWithValue("@WF_LAST_DAY_TAG", Convert.ToDecimal(LastDayAverage))
End If
我現在有相當多的小數位和一些數據數據以科學記數法放入字符串變量中,所以這似乎是錯誤的方法。它似乎不正確的使用字符串變量開始。
如果我使用雙精度型或十進制型變量,則空白excel值會顯示爲0.0。
如何保留空白值?
注:我已經試過
Variable作爲Nullabe(雙)
但是傳遞值到SQL插入時,我得到:「可爲空的對象必須有一個值」
解決方案:
通過改變我打電話子參數的數據類型,然後使用Variable.HasValue做有條件的DBNull插入固定。
是否存在爲0.0的任何值不應該是空? – Barry 2010-04-15 17:34:26
數據庫中的該字段是否允許空值? – R0MANARMY 2010-04-15 17:36:02
是的,有0.0和有空值。這就是問題:) – Sam 2010-04-15 17:44:10