在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时间 }