簡體   English   中英

如何轉換或跳過空日期時間?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM