0

您好,我得到了这个,它使用掩码SqlDataReader从 SQL DB 中读取日期数据类型,但是当日期为例如 05/05/2005 时,它将显示在掩码文本框中,如 Windows XP 上的 55/20/05__ 。maskedTextBoxMM/DD/YYYY

有没有解决方案来防止这种情况?

在 Windows 8 上,它被读取为 5_/5_/2005,这是正确的

           string query = "SELECT * FROM events WHERE name='" + selectedrow + "' AND year='" + selectedyear+ "'";
            SqlCommand command= new SqlCommand(query, con);
            con.Open();
            SqlDataReader read= command.ExecuteReader();

            if (read.Read())
            {

                object nulldate = (maskedTextBox2.Text = read.IsDBNull(24) ? 
                    string.Empty : read.GetDateTime(24).ToShortDateString()); } con.Close();

感谢您的时间。

4

1 回答 1

1

我没有使用掩码文本框,但您可以使用提供格式选项的 DateTime ToString 覆盖之一。

正如这里引用的http://msdn.microsoft.com/en-us/library/zdtaw1bw.aspx,是这样的:

string formatted = read.IsDBNull(24) ? string.Empty : read.GetDateTime(24).ToString("MM/dd/yyyy");
于 2013-09-27T12:00:40.147 回答