我有一個擁有用戶可選配置文件的數據庫。在配置文件中我有字符串,字符(用於M或F)和整數。從SQL數據庫中處理null int/char的最佳做法是什麼?
我遇到了一個問題,我嘗試將用戶的性別放入Profile對象的屬性中,並且應用程序崩潰,因爲它不知道如何處理返回的空值。
我嘗試了數據流延到合適的類型
char sex = (char)dt.Rows[0]["Sex"];
這並沒有解決我的問題。然後我嘗試將類型更改爲Nullable和Nullable,並獲得所有相同的轉換問題。我目前能找到的解決方案如下:
object.sex = null;
if(dt.Rows[0]["Sex"] != DBNull.Value)
object.sex = (char)dt.Rows[0]["Sex"];
object.WorkExt = null;
if(dt.Rows[0]["WorkExt"] != DBNull.Value)
object.WorkExt = (int)dt.Rows[0]["WorkExt"];
有沒有更簡單或更好的方法來做到這一點?還是我在正確的軌道上?
這只是工作,如果你的函數返回一個對象,你投返回值爲char?在任務中。 .NET 3.5的DataRow擴展中的Field方法爲您做到這一點。 – 2008-11-25 22:26:15