精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品原创,禁止全文或局部转载,禁止任何形式的非法使用,侵权必究。点名“简易百科”和闲暇巴盗用锐英源原创内容。
在C#结合MySQL进行开发时,安装过MySQL的连接库,就可以用连接库里的类来读取数据表字段值,在内存里形成记录形式的列表,不过在读取前发判断MySQL字段值为空,如果为空,就不能读,按默认的0或空值来处理,但是在判断为空的正确方法上,最近有点小研究,先看下图:
主要关注2行代码和提示内容。代码为:
if(!DBNull.Value.Equals(mysqlReader[12]))
提示为:
Call MySqlDataReader.IsDBNull(int) to check for null values before calling this method
提示也是警告要在判断不空时才能调用函数来读。
我本来一直是用DBNull的,看到这个提示,就想试下MySqlDataReader.IsDBNull,但是通过查看类的元数据信息,并没有MySqlDataReader.IsDBNull,这说明提示和DLL里的类及函数是不一致的,最后还是用了DBNull形式。
这是帮助和实际不一致的情况,也表明MySQL开源的细节做的不到位,还是微软的闭源有大规模团队更考虑了细节。