我使用“IDataReader”和简单查询从数据库读取数据
SELECT * FROM mytable ORDER BY Id
问题在于调用
reader.IsDBNull(i)
即使对于可为空的字段也返回“false”...
并调用
reader.GetValue(i)
如果这些字段中的值为 NULL,则返回 0。
请问如何正确获取NULL?
附注
我相信我在配置连接字符串来访问数据时出了问题,所以这里是:
<add key="ConnectionString.MySql.Data.DataProvider.MySqlDataProvider.MySql"
value="server=***; user id=***; pwd=***; database=***; Convert Zero Datetime=true;"
/>
附注是的,我使用 MySql,v.5.1
P.P.S。我的坏处:使用了来自错误数据库的数据,该数据实际上具有 0 值。请删除该问题。
最佳答案
return 'false' even for nullable fields...
reader.IsDBNull
如果该字段的记录为 null
,则返回 true,但它不会判断数据类型是否可为 null。
关于c# - 为什么 'IsDBNull' 对于数据库中可为 NULL 的字段返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14994633/