我有一个“ IDataReader”,它读取SQL语句的结果。
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
var boolColumnString = reader[13](or even reader['boolcolumnname']).ToString();
}
}
在System.Data.SQLite的两个版本中都使用同一段代码。
数据库的类型为.mdc,第13列类型为BOOL
,所有记录的值均设置为none。它是空的。
但是,当将上述阅读器与以下内容一起使用时:
boolColumnString
的值应为'false'(这是有道理的)boolColumnString
的值为'true'编辑:仔细查看后,我发现在配置表结构时编写TYPE时没有检查。例如,您可以键入“ NOTATYPE”并使用DB Browser for SQLite
写入更改,然后将其保存。
因此,在检查类型友善性并导致结果为“真/假”时可能会发生一些奇怪的情况。现在,我将继续使用允许的SQL类型,但是如果有人更好地理解了该问题,我仍然会保留该票证。