我有一个sqlite数据库和一个表,其中我有一个列PIN作为TEXT,它是空的。 当我从数据库中获取它并尝试转换为字符串时它会给我一个异常,当转换数字时,该值必须小于无穷大......这是什么原因?
答案 0 :(得分:0)
在像sqlite这样的数据库中,空字符串和null是两回事。看起来您可能正在尝试将PIN转换为int
或其他整数类型。如果PIN字段为空或DBNull,则此强制转换将失败,从而给出您列出的异常。更复杂的是null != DBNull.Value
,这是您的数据库查询可能返回的内容。
要检查此项,您需要针对DBNull.Value
检查PIN字段,并在检查后进行投射。
请参阅:DBNull Class