Asp.net
從“DBNull”類型到“String”類型的轉換無效
我收到這個問題
從“DBNull”類型到“String”類型的轉換無效。
第 501 行:hfSupEmail.Value = dt.Rows(0)(“SupEmail”)
我對此很陌生,我不確定有人可以指導我的確切問題是什麼?
非常感謝
快速而骯髒的修復:
hfSupEmail.Value = dt.Rows(0)("SupEmail").ToString()或對於 C#:
hfsupEmail.Value = dt.Rows[0]["SupEmail"].ToString();當您的最終目標和源數據已經是字元串時,這非常有效,因為
.ToString()對已經是字元串的東西的任何額外呼叫都可能被抖動優化為無操作,如果它為 NULL,則結果DBNull.Value.ToString()表達式會產生空你想要的字元串。但是,如果您使用的是非字元串類型,您最終可能會做大量的額外工作,尤其是對於
DateTime您需要特定格式的諸如數值或數值之類的東西。請記住,國際化問題意味著解析和組合日期和數值實際上是非常昂貴的操作;做“額外”的工作來避免這些操作通常是值得的。