无法将 DBNull.Value 强制转换为类型“System.DateTime”。请使用可空类型
2024-10-17 22:38:55
取数据库中的数据时,数据库中的字段有可能是空值,虽然Linq中的Field方法和SetField方法都可以处理可以为 null 的类型,不必像前面的示例那样检查 Null 值,我们再用Field将一些可空的值赋给实体的属性时,有可能会报错,因为实体的属性是可空类型,例如:
角色(SmRole)实体有如下可空类型的创建时间的属性
public virtual DateTime? Createdtime
{
get { return _createdtime; }
set { _bIsChanged |= (_createdtime != value); _createdtime = value; }
}
//dsRole为数据集
var roleAllDs =
from role in dsRole.Tables[0].AsEnumerable()
select role;
//创建SmRole实体对象
SmRole smrole = new SmRole();
//遍历数据
foreach (var r in roleAllDs)//dsRole.Tables[0].Rows
{
//...
//smrole.Createdtime = r.Field<DateTime>("CREATEDTIME");
//如上这样取值就会报标题所示的异常,应该改为可空类型,正确的如下
smrole.Createdtime = r.Field<DateTime?>("CREATEDTIME");//加上可空标识
//...
}
https://www.cnblogs.com/vihone/archive/2010/06/04/1751424.html
最新文章
- Net设计模式实例之抽象工厂模式(Abstract Factory Pattern)
- Oracle 中的伪列
- Python函数讲解
- iOS进阶_动画的多种实现方式
- BZOJ 1012 题解
- FPGA内部信号避免高阻态
- [转] Splay Tree(伸展树)
- hashCode与equals详解
- Java程序员可能犯的3个常见SQL错误
- Win手机安卓程序初体验
- Linux - iostat命令详解
- Google Chrome 圆形进度条
- 【Vue-Cli3.0】【2】渲染
- [Swift]LeetCode1020. 飞地的数量 | Number of Enclaves
- elasticsearch简单操作(一)
- idea创建java的web项目
- 求最大流dinic算法模板
- windows 老掉牙CMD的命令
- 写 5 个你知道的 HTML5 标签,说明他们的意义
- Selenium之使用PageFactory初始化pageobject
热门文章
- C学习笔记-枚举
- max-http-header-size 引发的一起血案(附:查gc方法)
- [转帖]深度: NVMe SSD存储性能有哪些影响因素?
- Redis缓存击穿
- 面试35-删除字符串重复字符-删除出现在第二个字符串中的字符-第一个只出现一次的字符-hash表计数
- vue : 无法加载文件 C:\Users\lihongjie\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 htt ps:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 + vue init webpack vue_p
- centos7安装activemq5.15
- [转载]汇编语言assume伪指令的作用
- webpack 打包 UglifyJs 报错
- 部署 12306 github 项目