我有一个数据库列'date_announced',其值为0000-00-00 00:00:00
,当我尝试将此值插入类字段时我遇到错误
Unable to convert MySQL date/time value to System.DateTime"
,如何优雅地处理代码而不抛出异常?
date_announced = 0000-00-00 00:00:00
var BuildDetails = new BuildAnnounceDetails();
while (rdr.Read())
{
BuildDetails.SP = rdr.GetString(0);
//BuildDetails.BuildID = rdr.GetString(1);
BuildDetails.CreatedDate = rdr.GetString(1);
BuildDetails.AnnouncedDate = rdr.GetString(2); **//throws an exception at this line**
BuildDetails.AnnouncedBy = rdr.GetString(3);
if (BuildDetails != null)
{
BuildAnnounceDetailsInfo.Add(BuildDetails);
}
}
错误:
无法将MySQL日期/时间值转换为System.DateTime
答案 0 :(得分:0)
您应该使用具有IsValidDateTime
属性的GetMySqlDateTime方法。所以在你的情况下:
BuildDetails.AnnouncedDate = rdr.GetMySqlDateTime(2).IsValidDateTime?rdr.GetString(2):string.Empty;