Using !DBNull.Value

本文关键字:Value DBNull Using | 更新日期: 2023-09-27 18:11:28

我对这段代码有问题:

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

Using !DBNull.Value

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

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

你的代码似乎不对。TextBox控件文本属性永远不会为空。阅读器可以有一个包含DBNull的字段。值和,如果你想设置文本框通常使用IsDBNull检查,并使用一个空字符串来代替空值。

顺便说一下,这和你第一个问题的答案完全一样。在这里不管用的东西?