在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开源的细节做的不到位,还是微软的闭源有大规模团队更考虑了细节。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!