System.DBNull.Value与Null的区别
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的区别相关推荐
- DBNull与Null的区别
[转]http://www.cnblogs.com/muou/archive/2010/03/23/1692391.html Null是.net中无效的对象引用. DBNull是一个类.DBNull. ...
- System.DBNull
如果在 sqlserver中 字段的值是 NULL (看清楚了是NULL,而不是空'') 那么在 C#中得到的值 不是 c#中的null 而是System.DBNull 这里记录的目的 主要是记住 在 ...
- Java中String字符串:空字符串、存放空的字符串、null的区别
Java中String字符串:空字符串.存放空的字符串.null的区别 Java String字符串中有三种特殊的字符串:空字符串.存放空的字符串.字符串为Null,如下所示: String str1 ...
- 集合判断是否为空isEmpty()与==null的区别
前言 Java中的空指针异常确实是令人头疼的问题,今天抽空详细梳理下关于集合判断是否为空isEmpty()与==null的区别,尽量避免触发空指针异常. 集合之List isEmpty() 测试代码如 ...
- mysql 中is not null 和 !=null的区别
今天做定时任务,需要用到一个mysql查询 于是我就写: sqlcondition=" and fplsh!=null and iskp='2'" 却发现发挥的list为空 很是诧 ...
- mysql''和null,mysql中NULL和null的区别
接触php的web开发一段时间了,在进行数据库操作的时候经常会遇到一个问题,使得同一字段在页面显示时有3种类型NULL,null以及数字,当时的解决办法是将这一字段定义为varchar类型,在插入数据 ...
- JS-undefined与null的区别
JS-undefined与null的区别 var array = new Array(); array[0] = 1; array[1] = 2; array[10] =10; array[2]到ar ...
- 关于mysql设置varchar 字段的默认值''和null的区别,以及varchar和char的区别
一.背景 根据业务需求,发现以前的同事在设计表的时候,很多字段都没有设置默认值.在mysql5.7版本之后,没有设定默认值的字段,在严格模式下是很容易报错的,所以我这边需要先给每个字段加上一个默认值. ...
- mysql char null_关于mysql设置varchar 字段的默认值''和null的区别,以及varchar和char的区别...
一.背景 根据业务需求,发现以前的同事在设计表的时候,很多字段都没有设置默认值.在mysql5.7版本之后,没有设定默认值的字段,在严格模式下是很容易报错的,所以我这边需要先给每个字段加上一个默认值. ...
最新文章
- MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen
- Unity3D手机斗地主游戏开发实战(03)_地主牌显示和出牌逻辑
- PHP的CURL:请求接口 模拟请求登陆 上传下载
- 左室短轴切面_【图】短轴超声切面 - 心脏解剖学 - 天山医学院
- python实践作业_实践-python实现假设检验
- 如何让网站文章秒收录
- 冰心的作品有哪些?聊一聊冰心都有哪些作品?
- mybatis generator使用总结
- 以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明
- rtmp rtsp 区别_鱼胶粉和吉利丁粉的区别
- Intellij idea创建(包、文件)javaWeb以及Servlet简单实现(Tomcat)
- 正切函数半角定理推导
- php使用逻辑运算符提交程序运行效率
- 【面霸系列 - 3】初级java如何挖掘自身的优势
- 响铃:抖音微视撕逼,但音乐短视频只有“神曲”逻辑吗?
- pytorch基本知识—主要轮子简介
- java 简易的闹钟设计,用java设计智能闹钟
- 我套你猴子的,哥上岸了!附上我的字节客户端开发面经,希望帮助到大家!
- 微信小程序获取当前位置和城市名
- knockoutjs介绍(译文)
热门文章
- layui表格checkbox选择全选样式及功能
- 前端笔记-js文件首行添加;号(前端小技巧)
- C++笔记-const与mutable、static_cast与reinterpret_cast
- 专业课程设计之客户与服务器程序的同步与通信机制的设计(三)数据共享和线程
- char装cstring_VC中char*转换为CString
- vue中webpack默认配置_webpack中Entry与Output的基础配置
- Pixel6 解锁bootloader
- python后端接口怎么写_看看人家那后端API接口写得,那叫一个优雅!
- thrift中TNonblockingServer的简单用法
- pthread_cond_t