2014-02-25 131 views
0

我有一個sqlite數據庫和一個表,其中我有一個列的PIN作爲一個文本,它是空的。 當我從數據庫中得到它,並試圖轉換成一個字符串,它給我帶來了一個異常,當投一個數字時,該值必須小於無窮大......原因是什麼?如何避免這種異常?

+6

哪個異常到底是什麼?也請包括一些代碼。 –

回答

0

在像sqlite這樣的數據庫中,空字符串和null是兩個不同的東西。看起來你可能會試圖將你的PIN碼轉換爲int或其他整數類型。如果PIN字段爲空或DBNull,則此投射將失敗,並列出您列出的例外。更復雜的事情,null != DBNull.Value,這是您的數據庫查詢可能會返回。

要檢查這一點,您需要檢查PIN字段對DBNull.Value,並且只有在您檢查後才能投射。

參見:DBNull Class

參見:A similar SO question