1、原由:数据库操作,插入 Time(0)字段空值时,处理方法求解。
2、为了不出现Datetime溢出,据说要使用System.Data.SqlTypes.SqlDateTime.MinValue。
3、数据库
PatrolDuty(
DutyId nvarchar(50) PK,
StartTime Time(0)
)
4、实体类
public class PatrolDuty
{
public string DutyId {get;set;}
public DateTime StartTime {get;set;}
}
5、Dao 操作中的自定义方法
/// <summary>
/// 业务对象填充实体对象公共方法
/// </summary>
private SqlParameter[] FillParameter(PatrolDuty patrolDuty)
{
try
{
SqlParameter[] paras = new SqlParameter[]
{
new SqlParameter("@DutyId",(patrolDuty.DutyId==null)?Convert.ToString(DBNull.Value):patrolDuty.DutyId),
new SqlParameter("@StartTime",(patrolDuty.StartTime==DateTime.MinValue)? System.Data.SqlTypes.SqlDateTime.MinValue:patrolDuty.StartTime.ToString("t")),
};
return paras;
}
catch (Exception e)
{
throw e;
}
}
6、蓝色部分如何只得到时间值 , 例如 12:30:20