[英]How to get DateTime value from DataRow in C#
我正在嘗試從DataTable
的DataRow
獲取雇員的出生日期,但是我遇到了一個例外:
無法將字符串識別為有效的DateTime。
請幫助我從DataRow
獲取DateTime
類型的值。 以下是我的代碼。
List employeeList = new List();
foreach (DataRow dr in dt.Rows)
{
DateTime t = DateTime.Now;
employeeObject.EmployeeID = Convert.ToInt64(dr["empId"]);
employeeObject.EmployeeFirstName = Convert.ToString(dr["empFirstName"]);
employeeObject.EmployeeMiddleName = Convert.ToString(dr["empMiddleName"]);
employeeObject.EmployeeLastName = Convert.ToString(dr["emptLastName"]);
employeeObject.EmployeeGenderStr = Convert.ToString(dr["empGender"]);
employeeObject.EmployeeDateOfBirth = Convert.ToDateTime(dr["empDOB"]);
//employeeObject.EmployeeDateOfBirth = DateTime.ParseExact(dr["empDOB"].ToString().Replace(";", " "), "m/d/yyyy hh:mm:ss", CultureInfo.InvariantCulture);// DateTime.Parse(dr["empDOB"].ToString());
// employeeObject.EmployeeDateOfBirth = Convert.ToDateTime(dr["empDOB"].ToString().Replace(";", " "), System.Globalization.CultureInfo.GetCultureInfo("hi-IN").DateTimeFormat); ;
employeeObject.EmployeeContactno = Convert.ToDouble(dr["empContactNo"]);
employeeObject.EmployeeEmailId = Convert.ToString(dr["empEmailId"]);
employeeObject.EmployeeAddress = Convert.ToString(dr["empAddress"]);
employeeObject.EmployeeDesignation = Convert.ToString(dr["empDesgnation"]);
employeeList.Add(employeeObject);
}
employeeObject.EmployeeDateOfBirth= Convert.ToDateTime(dr["empDOB"]);
嘗試使用此方法,並將“ yyyy-MM-dd”替換為所需的格式。
DateTime.ParseExact(dr["empDOB"].toString(), "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture)
綁定前檢查null。
據我所知,除非檢查是在您的數據庫中完成的,否則不會看到對null的任何檢查並將其替換為datetime minValue。 我遇到了類似的問題,該檢查解決了該問題。
如果(!string.IsNullOrEmpty(dr [“ empDOB”])){ employeeObject.EmployeeDateOfBirth = Convert.ToDateTime(dr["empDOB"]);
} else {DateTime DOB = DateTime.MinValue;}
嘗試這個:
employeeObject.EmployeeDateOfBirth = DateTime.ParseExact(dr["empDOB"].toString(),
"d/M/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
您可以使用:
employeeObject.EmployeeDateOfBirth = dr["empDOB"] != null ?
(DateTime)dr["empDOB"] :
DateTime.MinValue;
如果為null
則將為您提供MinValue
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.