2013-03-11 47 views
0

我试图检查DBNull.Value但在这种情况下reader["Preferences"]返回{}在即时窗口(为什么?)如果条件检查DBNull.Value

所以当(string)reader["Preferences"];执行我得到一个类型转换错误

if (reader["Preferences"] == System.DBNull.Value) 
{ 
    preferences = (string)reader["Preferences"]; 
} 
+0

(),而不是这个。它亲自处理dbnull值 – 2013-03-11 11:59:13

+0

,我强烈主张使用'reader.ISDBNull(...)' – 2013-03-11 12:15:17

回答

1

您正在尝试只投了当值DBNull.Value

你应该反转的if:中

if (reader["Preferences"] != System.DBNull.Value) 
{ 
    preferences = (string)reader["Preferences"]; 
} 
你可以直接您Convert.ToString