C# 如何避免这种异常?
我有一个sqlite数据库和一个表,其中有一个列PIN作为文本,它是空的。C# 如何避免这种异常?,c#,sql,sqlite,C#,Sql,Sqlite,我有一个sqlite数据库和一个表,其中有一个列PIN作为文本,它是空的。 当我从数据库中获取它,并试图将其转换为字符串时,它会给我带来一个异常,当转换一个数字时,该值必须小于无穷大……原因是什么?在像sqlite这样的数据库中,空字符串和null是两种不同的东西。您可能正试图将PIN码转换为int,或其他整数类型。如果PIN字段为null或DBNull,则此转换将失败,并给出您列出的异常。使事情进一步复杂化,null!=DBNull.Value,这是数据库查询可能返回的值 要检查这一点,您需要
当我从数据库中获取它,并试图将其转换为字符串时,它会给我带来一个异常,当转换一个数字时,该值必须小于无穷大……原因是什么?在像sqlite这样的数据库中,空字符串和null是两种不同的东西。您可能正试图将PIN码转换为
int
,或其他整数类型。如果PIN字段为null或DBNull,则此转换将失败,并给出您列出的异常。使事情进一步复杂化,null!=DBNull.Value
,这是数据库查询可能返回的值
要检查这一点,您需要对照DBNull.Value
检查PIN字段,并仅在检查后强制转换
见:
请参阅:具体是哪种异常?也请包括一些代码。