我想将sqlite数据库中的INTEGER数据转换为“ int?”。
我尝试将reader [“ Field1”]设置为int ?,但无论实际值如何,结果始终为“ null”。
谢谢。
编辑: 在消息“ INTEGER”而不是“ NUMERIC”上犯了一个错误
答案 0 :(得分:0)
您的主要问题可能是您的价值不是null
,而是DbNull.Value
。因此,要正确处理该问题,需要内置SqlReader
语法或条件语句。
if(reader["Field"] != DbNull.Value)
{
// If a database null value is not found, attempt to cast.
}
您可能遇到的另一个问题是,数字在小数点的右侧可以具有精度,因此在尝试强制转换时请记住这一点。您可能想使用小数代替。