C#中System.DBNull的问题

今天写一个C#的数据库Demo,第一个功能,用户登录,数据库中用户表(Staff)最后一个字段ZP(呵呵,PowerDesigner中文直接翻译的)照片字段为空,

我的登录逻辑是通过用户名以及密码查询出一个Staff实体,获取所有的信息,方便后面的程序使用这个函数,所以我使用的是SqlDataReader

SqlDataReader sdr = com.ExcetuReader();

然后直接赋值获取sdr的各个值,但是sdr[6]也就是照片字段是NULL(数据中中)此时报错无法将System.DBNull转为string,呵呵哒。。。。。。

随后下意识的做了一个判断if(sdr[6] != null);但是异常依旧在,是不是很傻;哈哈更傻的是继续if(sdr[6] != System.DBNull),哈哈,直接赋值,我也是够了。

好了不说这么多了,正确判断做法是if(sdr[6] is System.DBNull);这样做才能起到判断的作用;

---
### 最后
- 本文内容个人拙见,若有出入,欢迎指正。
- 欢迎赏脸关注:家佳Talk

![欢迎赏脸关注:家佳Talk](https://i.loli.net/2020/02/03/Ps3BCMf4Qrw8jVi.jpg)

原文地址:https://www.cnblogs.com/numen-fan/p/7772853.html