使用!DBNull.Value

时间:2014-07-05 11:15:18

标签: c#

我遇到了这段代码的问题:

if (!DBNull.Value.Equals(mastxtDateEnded_Edit.Text))
{
    //mastxtDateEnded_Edit.Text = Convert.ToDateTime(reader[28]).ToString("MM/dd/yyyy");
    mastxtDateEnded_Edit.Text = Convert.ToString(reader[28]).ToString();
}

输出:

92/91/974

1 个答案:

答案 0 :(得分:0)

如果你的意图是将TextBox(或maskedtextbox)设置为字段28的内容,只有它不是NULL,那么你应该写一些像

mastxtDateEnded_Edit.Text = reader.IsDBNull(28) 
                            ? string.Empty 
                            : reader[28].ToString("MM/dd/yyyy");

您的代码似乎不正确。 TextBox控件Text属性永远不为null。读者可以有一个包含DBNull.Value的字段,如果你想设置文本框,通常用IsDBNull检查并使用空字符串替换空值。

顺便说一句,这与你在第一个问题上告诉你的完全相同。在这里不起作用的东西?