我正在將我的DataTable
轉換爲泛型列表,並且在將行值轉換爲列表的對象時,它給出了Cast Exception。我嘗試使用代碼處理DBNull處理DateTime的DBNull值
if (dataRow["DateCompleted"] == DBNull.Value)
{
dataRow["DateCompleted"] = null;
}
if (dataRow["TotalRecords"] == DBNull.Value)
{
dataRow["TotalRecords"] = 0;
}
if (dataRow["CompanyName"] == DBNull.Value)
{
dataRow["CompanyName"] = "";
}
但DateCompleted不接受null,DBNull或空字符串。
的過程後,我正在做的物體,像
DemoData demoValue = new DemoData
{
CompanyName = dataRow["CompanyName"].ToString(),
DateCompleted = (DateTime)dataRow["DateCompleted"],
TotalRecords = (int)dataRow["TotalRecords"]
};
並添加對象添加到列表
DataList.Add(demoValue);
我的目錄是
public List<DemoData> DataList = new List<DemoData>();
和我的課是
public class DemoData
{
public string CompanyName { get; set; }
public DateTime DateCompleted { get; set; }
public int TotalRecords { get; set; }
}
我通常只是用新的DateTime(),它會默認日期到1900年1月1日。DateTime將不接受null。 – jdweng
嘗試使用'Nullable'或'DateTime?'作爲'DateCompleted'字段 –
@jdweng這不可行,因爲在我的應用程序中,日期和時間是重要因素,因此不能設置爲默認值,但可以爲空 – Jaideep