SqlDataReader.GetBoolean返回不正确的值

时间:2015-02-09 04:09:27

标签: c# sqldatareader

我在数据库表中有一个列,用于存储' bit'类型。值可以为null,false或true。我正在使用SqlDataReader对象来读取此表中的行,并且我成功地读取了所有列值,除了这个' bit'柱。代码如下所示:

if(!dataReader.IsDBNull(columnOrdinal))
{
    bool? value = dataReader.GetBoolean(columnOrdinal);
}

可以安全地假设columnOrdinal值是正确的,因为正在按预期读取其余列。 '值'由于业务需求,它是一个可以为空的布尔值。

问题:当列的值为' false'在db中,'值'变量设置为' true'。

对象模型的设置方式使得我无法测试列值为“真”的情况,但我有任何问题。我不知道为什么会发生这种情况,任何帮助或指针都会非常感激。

0 个答案:

没有答案