我试图从DataRow
的{{1}}中获取员工的出生日期,但我得到例外:
字符串未被识别为有效的DateTime。
请帮助我从DataTable
获取DateTime
类型的值。以下是我的代码。
DataRow
答案 0 :(得分:2)
employeeObject.EmployeeDateOfBirth= Convert.ToDateTime(dr["empDOB"]);
答案 1 :(得分:1)
尝试使用此功能并将“yyyy-MM-dd”替换为您想要的格式。
DateTime.ParseExact(dr["empDOB"].toString(), "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture)
答案 2 :(得分:1)
绑定前检查null。
从我所看到的,我没有看到任何检查null并用datetime minValue替换null,除非在你的数据库中完成检查?我遇到了类似的问题,检查解决了这个问题。
if(!string.IsNullOrEmpty(dr [" empDOB"]))
{employeeObject.EmployeeDateOfBirth = Convert.ToDateTime(dr["empDOB"]);
} 其他 { DateTime DOB = DateTime.MinValue;}
答案 3 :(得分:0)
试试这个:
employeeObject.EmployeeDateOfBirth = DateTime.ParseExact(dr["empDOB"].toString(),
"d/M/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
答案 4 :(得分:0)
您可以使用:
employeeObject.EmployeeDateOfBirth = dr["empDOB"] != null ?
(DateTime)dr["empDOB"] :
DateTime.MinValue;
如果它是MinValue
,这将为您提供null
。