如何将SQLITE INTEGER字段转换为int?

时间:2018-11-21 16:44:59

标签: c# sql sqlite casting int

我想将sqlite数据库中的INTEGER数据转换为“ int?”。

我尝试将reader [“ Field1”]设置为int ?,但无论实际值如何,结果始终为“ null”。

谢谢。

编辑: 在消息“ INTEGER”而不是“ NUMERIC”上犯了一个错误

1 个答案:

答案 0 :(得分:0)

您的主要问题可能是您的价值不是null,而是DbNull.Value。因此,要正确处理该问题,需要内置SqlReader语法或条件语句。

if(reader["Field"] != DbNull.Value)
{
     // If a database null value is not found, attempt to cast.
}

您可能遇到的另一个问题是,数字在小数点的右侧可以具有精度,因此在尝试强制转换时请记住这一点。您可能想使用小数代替。