[英]Handling null values in C# - uploaded excel data sheet to database
我正在嘗試將電子表格中的項目讀入數據表,然后可以將其上傳到數據庫。
我遇到問題的列必須讀取 boolean 值。 但是,有時該字段為空。 當字段為空時,我需要將 null 存儲到此 boolean 值中,而不是 0 和 1。
這是原始代碼行:
bool bool2 = Convert.ToBoolean(row["Bool_02"]);
當字段不為空時,這很有效。 但我無法首先檢查該字段是否為空,因為您無法將 null 存儲為 boolean 值。 我嘗試將其設置為可以為空的值,如下所示:
bool? bool2 = Convert.ToBoolean(row["Bool_02"]);
if(bool2 != true || false)
{
bool2 = null;
}
但我收到一個錯誤 - object 不能從 DBNull 轉換為其他類型。
我必須接受列的輸入,檢查它是否為空 - 如果它為空,則將 null 保存在 bool 變量中。
我怎樣才能做到這一點?
但我無法首先檢查該字段是否為空,因為您無法將 null 存儲為 boolean 值。
當然可以,只需在嘗試轉換之前檢查該字段是否為 DBNull。
if(row["Bool_02"] is DBNull) return;
bool bool2 = Convert.ToBoolean(row["Bool_02"]);
如果您想將其填充到可為空的 boolean 中,則需要一個三元組。
bool? bool2 = row["Bool_02"] is DBNull ? null : Convert.ToBoolean(row["Bool_02"]);
未經測試,您可能需要對該三元組中的(bool?)
進行類型轉換才能編譯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.