C# 異常 關於對象不能從DBNull轉換爲其他類型

關於對象不能從DBNull轉換爲其他類型,在數據庫查找數據時,綁定了爲空值的字段。
解決方法:
1.加判斷

if (dt.Rows[i][j] == DBNull.Value)
 { num = 0; }
 else
 { num = Convert.ToInt32(dt.Rows[i][j]); }

2.在讀取數據庫數據時判斷.如"Select IsNull(score,0) from score" 先把爲null的數據表示爲0
3.使用TryParse
Convert.ToInt32 與 int.Parse 較爲類似,實際上 Convert.ToInt32 內部調用了 int.Parse:
* Convert.ToInt32 參數爲 null 時,返回 0;
* int.Parse 參數爲 null 時,拋出異常。
* Convert.ToInt32 參數爲 “” 時,拋出異常;
* int.Parse 參數爲 “” 時,拋出異常。
* Convert.ToInt32 可以轉換的類型較多;
* int.Parse 只能轉換數字類型的字符串。
int.TryParse 與 int.Parse 又較爲類似,但它不會產生異常,轉換成功返回 true,轉換失敗返回 false。最後一個參數爲輸出值,如果轉換失敗,輸出值爲 0。
4.設置數據表不允許空值或設置默認值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章