在datatble列值為空時,強轉將會報錯無法將System.DBNull轉為XXXX,此時需要先對列值進行DBNULL判斷,再根據也無需要賦值。
//判斷列值是否是DBNULL類型 bool isDBNull = Convert.IsDBNull(datatable.rows[0][0]);
if (Convert.IsDBNull(ds.Tables[0].Rows[0]["FMakeDate"]) == true) { strFErtificateDate = Convert.ToDateTime(DateTime.Now).ToString("yyyy-MM-dd");//是DBNULL使用系統時間 } else { strFErtificateDate = Convert.ToDateTime(ds.Tables[0].Rows[0]["FMakeDate"]).ToString("yyyy-MM-dd"); //不是DBNULL使用DT時間 }