如何从C#中的DataRow获取DateTime值

时间:2014-07-25 10:19:57

标签: c#

我试图从DataRow的{​​{1}}中获取员工的出生日期,但我得到例外:

  

字符串未被识别为有效的DateTime。

请帮助我从DataTable获取DateTime类型的值。以下是我的代码。

DataRow

5 个答案:

答案 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