Null是.net中无效的对象引用。
DBNull是一个类。DBNull.Value是它唯一的实例。它指数据库中数据为空(<NULL>)时,在.net中的值。

以下是我测试的一个例子。
例:表tbl_Student
id    name    address
1      jim      <NULL>

将上述表数据填充到.net 的名为dt的DataTable中。
dt.Rows[0]["address"]不等于null但是等于DBNull.Value.
可见null表示一个对象的指向无效,即该对象为空对象。
DBNull.Value表示一个对象在数据库中的值为空,或者说未初始化,DBNull.Value对象是指向有效的对象。

另外注:对上述dt,如果有如下代码:dt.Rows[0][100]。结果如何?
并非想象中的null。而是出现异常:索引超出数组界限。
对于普通的引用类型变量,如果指向对象为null,则会提示:未将对象引用设置到对象实例。但对于使用dt.Rows[i][j]取值,如果第i行存在但i行没有j列,则直接出现异常,不会返回一个指向null的dt.Rows[i][j]。
所以:使用(dt.Rows[0][100]!=null)判断没有意义。为避免0行的100列不存在。可以判断(dt.Rows[0].ItemArray.Length>100).

转载于:https://www.cnblogs.com/ShaYeBlog/archive/2013/03/25/2980174.html

System.DBNull.Value与Null的区别相关推荐

  1. DBNull与Null的区别

    [转]http://www.cnblogs.com/muou/archive/2010/03/23/1692391.html Null是.net中无效的对象引用. DBNull是一个类.DBNull. ...

  2. System.DBNull

    如果在 sqlserver中 字段的值是 NULL (看清楚了是NULL,而不是空'') 那么在 C#中得到的值 不是 c#中的null 而是System.DBNull 这里记录的目的 主要是记住 在 ...

  3. Java中String字符串:空字符串、存放空的字符串、null的区别

    Java中String字符串:空字符串.存放空的字符串.null的区别 Java String字符串中有三种特殊的字符串:空字符串.存放空的字符串.字符串为Null,如下所示: String str1 ...

  4. 集合判断是否为空isEmpty()与==null的区别

    前言 Java中的空指针异常确实是令人头疼的问题,今天抽空详细梳理下关于集合判断是否为空isEmpty()与==null的区别,尽量避免触发空指针异常. 集合之List isEmpty() 测试代码如 ...

  5. mysql 中is not null 和 !=null的区别

    今天做定时任务,需要用到一个mysql查询 于是我就写: sqlcondition=" and fplsh!=null and iskp='2'" 却发现发挥的list为空 很是诧 ...

  6. mysql''和null,mysql中NULL和null的区别

    接触php的web开发一段时间了,在进行数据库操作的时候经常会遇到一个问题,使得同一字段在页面显示时有3种类型NULL,null以及数字,当时的解决办法是将这一字段定义为varchar类型,在插入数据 ...

  7. JS-undefined与null的区别

    JS-undefined与null的区别 var array = new Array(); array[0] = 1; array[1] = 2; array[10] =10; array[2]到ar ...

  8. 关于mysql设置varchar 字段的默认值''和null的区别,以及varchar和char的区别

    一.背景 根据业务需求,发现以前的同事在设计表的时候,很多字段都没有设置默认值.在mysql5.7版本之后,没有设定默认值的字段,在严格模式下是很容易报错的,所以我这边需要先给每个字段加上一个默认值. ...

  9. mysql char null_关于mysql设置varchar 字段的默认值''和null的区别,以及varchar和char的区别...

    一.背景 根据业务需求,发现以前的同事在设计表的时候,很多字段都没有设置默认值.在mysql5.7版本之后,没有设定默认值的字段,在严格模式下是很容易报错的,所以我这边需要先给每个字段加上一个默认值. ...

最新文章

  1. MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen
  2. Unity3D手机斗地主游戏开发实战(03)_地主牌显示和出牌逻辑
  3. PHP的CURL:请求接口 模拟请求登陆 上传下载
  4. 左室短轴切面_【图】短轴超声切面 - 心脏解剖学 - 天山医学院
  5. python实践作业_实践-python实现假设检验
  6. 如何让网站文章秒收录
  7. 冰心的作品有哪些?聊一聊冰心都有哪些作品?
  8. mybatis generator使用总结
  9. 以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明
  10. rtmp rtsp 区别_鱼胶粉和吉利丁粉的区别
  11. Intellij idea创建(包、文件)javaWeb以及Servlet简单实现(Tomcat)
  12. 正切函数半角定理推导
  13. php使用逻辑运算符提交程序运行效率
  14. 【面霸系列 - 3】初级java如何挖掘自身的优势
  15. 响铃:抖音微视撕逼,但音乐短视频只有“神曲”逻辑吗?
  16. pytorch基本知识—主要轮子简介
  17. java 简易的闹钟设计,用java设计智能闹钟
  18. 我套你猴子的,哥上岸了!附上我的字节客户端开发面经,希望帮助到大家!
  19. 微信小程序获取当前位置和城市名
  20. knockoutjs介绍(译文)

热门文章

  1. layui表格checkbox选择全选样式及功能
  2. 前端笔记-js文件首行添加;号(前端小技巧)
  3. C++笔记-const与mutable、static_cast与reinterpret_cast
  4. 专业课程设计之客户与服务器程序的同步与通信机制的设计(三)数据共享和线程
  5. char装cstring_VC中char*转换为CString
  6. vue中webpack默认配置_webpack中Entry与Output的基础配置
  7. Pixel6 解锁bootloader
  8. python后端接口怎么写_看看人家那后端API接口写得,那叫一个优雅!
  9. thrift中TNonblockingServer的简单用法
  10. pthread_cond_t