当我们从数据中获取到数据,一般会使用 DataTable 接收,然后会遍历每行数据。由于从数据库中读取的数据可能为空,比如我们的编译代码如下:
foreach (DataRow datarow in dataTable.Rows) { // 如果列中有一列的名称为name,当我们需要判断是否为空时,该怎么写 datarow["name"] }
直接写为
datarow["name"] == null
由于 datarow["name"] 会返回一个对象 object,而这个对象总是不为空的,所有这样判断永远不会成立。
经过调试可以看到 datarow["name"] 的类型为 DBNull,DBNull 表示不存在的值
因此可以使用下面的判断获取到的数据是否为空:
if (datarow["name"] == DBNull.Value) {}