判断一个值是不是DBNull.Value
2016-04-29 14:37
495 查看
C#读取数据库返回DataTable,遍历 DataTable,
在DataRow dr, 假如dr[0]是一个可空的值类型的字段,那么要赋值给C#程序的一个值类型(可空类型变量这里不讨论)变量时,
可以这样判断dr[0]是不是DBNull:
这样写使得代码简洁,易读,少一些if...else...
判断一个类型是不是DBNull.Value的方法如下:
总结了三种方法:
在DataRow dr, 假如dr[0]是一个可空的值类型的字段,那么要赋值给C#程序的一个值类型(可空类型变量这里不讨论)变量时,
可以这样判断dr[0]是不是DBNull:
int num=dr[0].Equals(DBNull.Value) ? 0 : Convert.ToInt32(dr[0]);
这样写使得代码简洁,易读,少一些if...else...
判断一个类型是不是DBNull.Value的方法如下:
object obj = DBNull.Value; bool b = obj.Equals(DBNull.Value); if (b == true) { Console.WriteLine("obj is a DBNull"); } else { Console.WriteLine("obj is not a DBNull"); } Console.ReadKey();
总结了三种方法:
while (dr.Read())//循环读取 { //第一种方法判断是不是DBNull.Value int num1=dr.IsDBNull(0)?0:dr.GetInt32(0); //第二种方法判断是不是DBNull.Value int num2 = dr[1].Equals(DBNull.Value) ? 0 : Convert.ToInt32(dr[1]); //第二种方法判断是不是DBNull.Value int num3 = string.IsNullOrEmpty(dr[2].ToString()) ? 0 : Convert.ToInt32(dr[2]); }
相关文章推荐
- 【WEB前端】太原web前端讲师兼UI设计师css选择器知识讲解
- Maven中-DskipTests和-Dmaven.test.skip=true的区别
- FMDB-FMDatabaseQueue
- IOS键盘的相关设置(UITextfield)
- Hibernate中的Query一些基本用法
- gnueabi相关的两个交叉编译器: gnueabi和gnueabihf 区别
- DataGrid中的请求携带参数
- MySQL 通用查询日志(General Query Log)
- UIButton常用属性和函数详解
- String Stringbuffer Stringbuilder 的区别
- [SoapUI] Mock Service
- IOS上 关于状态栏的相关设置(UIStatusBar)
- 使用UI-Router设置页面标题
- easyui onSortColumn:alertColumn
- leetcode——96——Unique Binary Search Trees
- 百度编辑器UEditor常用设置函数大全
- ios UITableViewCell 左滑删除时,改变删除按钮背景颜色
- UIView常用属性和函数
- easyui-window title的赋值和获取
- FineUI EF6 数据库分页查询 页面说明