【www.gdgbn.com--邮件处理】

.net 1.1 不支持sql server  datetime字段为空的情况
.net 2.0  开始支持sql server datetime字段为空


在不支持datetime为空的情况下,
sql server数据库教程一般是选择一个特定的日期代表空值,默认的情况下,是1900-1-1
那么我怎么样在asp教程.net处理datetime为空的字段呢
//此例中user为实体类对象

if(user.lastlogindate.hasvalue)
{
     lblinfo.text = user.lastlogindate.value.tostring("yyyy-mm-dd");
}
else
{
     lblinfo.text = "从未登录过!";
}

sql server中的datetime型字段,如果为空值,则在c#中获取到后是不能直接转换为datetime型变量的。当然也不能用是否等于null进行判断,应该使用是否等于dbnull.value进行判断。对于使用实体类的情况,可以将指定的属性设为允许为空的形式,及类似public datetime?  lastlogindate的方式定义。这样在处理时,我们只在结果集中对应的日期字段不等于dbnull.value时为lastlogindate属性赋值。在使用datetime?型变量的时候,使用其hasvalue属性进行判断处理

本文来源:http://www.gdgbn.com/jiaocheng/28925/