[英]How to convert or skip null date time?
如何轉換或跳過null
日期時間,我的日期時間來自數據庫,我使用的代碼是
private void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e)
{
GridView view = sender as GridView;
for (int i = 0; i < gridView1.RowCount; i++)
{
if (gridView1.GetDataRow(i) == null)
{
break;
}
DateTime sg = Convert.ToDateTime(gridView1.GetDataRow(i)["date"]);
if (!repositoryItemComboBox1.Items.Contains(sg))
{
repositoryItemComboBox1.Items.Add(sg);
}
}
}
當我嘗試運行該程序時,由於在日期數據庫中出現null類型,因此給我錯誤:
無法將對象從DBNULL強制轉換為其他類型。 在system.dbnull.system.iconvertible.toDatetime(IformatProvider提供程序)
使用DBNull.Value
:
DateTime? sg = null;
if(gridView1.GetDataRow(i)["date"] != DBNull.Value)
sg = Convert.ToDateTime(gridView1.GetDataRow(i)["date"]);
if (sg != null && !repositoryItemComboBox1.Items.Contains(sg))
{
repositoryItemComboBox1.Items.Add(sg);
}
您可以在此之前檢查gridView1.GetDataRow(i)["date"]
是否為DBNull
;
DateTime sg;
if(!(gridView1.GetDataRow(i)["date"] is DBNull))
{
sg = Convert.ToDateTime(gridView1.GetDataRow(i)["date"]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.