如果条件检查DBNull.Value

时间:2013-03-11 11:57:53

标签: c#

我正在尝试检查DBNull.Value,但在这种情况下,reader["Preferences"]会在即时窗口中返回{}(为什么?)

所以当(string)reader["Preferences"];执行时,我会收到类型转换错误

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

1 个答案:

答案 0 :(得分:1)

您只是在值 DBNull.Value时尝试投射。

您应该反转if

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