对象DBNull错误

时间:2018-03-14 09:35:24

标签: asp.net dbnull

我试图在互联网上关注一些例子但没有成功

我正在 GridView1_RowDataBound方法

中尝试以下操作
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        DataRowView drv = e.Row.DataItem as DataRowView;
        if (Convert.ToDateTime(drv["Created_Date"]).ToString("dd-MM-yyyy") == "01-01-1900" || (drv["Created_Date"].ToString().Equals(DBNull.Value))) //Check for this date
        {
            e.Row.Cells[11].Text = "test";
        }
    }
}

我仍然收到对象无法从DBNull转换为其他类型。

1 个答案:

答案 0 :(得分:1)

你必须使用

string.IsNullOrEmpty(drv["Created_Date"].ToString())

但是,您应该在if语句中切换第一个和第二个值。您正在检查Created_Date是否null投射后。因此,如果它是null,您的代码仍会抛出错误。所以最好做这样的事情

if (string.IsNullOrEmpty(drv["Created_Date"].ToString()) || Convert.ToDateTime(drv["Created_Date"]) == new DateTime(1900, 1, 1))