SQL Server 2008 DATE类型显示我日期&时间在视觉工作室

本文关键字:时间 视觉 工作室 日期 2008 Server DATE 类型 显示 SQL | 更新日期: 2023-09-27 18:16:55

我使用SQL Server 2008和我的字段有DATE类型,但在Visual Studio在我的程序中,当我读取可能的数据它显示我DATE & TIME我应该怎么做?我试图在SELECT查询我的程序,但它给了我一些错误,我怎么能解决这个问题?

这是我的后台代码:
     protected void Page_Load(object sender, EventArgs e)
        {
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = new SqlConnection(Class1.CnnStr);
                SqlDataReader reader;

                cmd.CommandText = "select ContractStartDate,MandateValidDate from table where BrokerName=@BrokerName";
                cmd.Connection.Open();
                cmd.Parameters.AddWithValue("@BrokerName", BrokerName_txt.Text);
                reader = cmd.ExecuteReader();
                if (reader.Read())
                {

                    ContractStartDate_txt.Text = Convert.ToDateTime(reader["ContractStartDate"]).ToString("dd/MM/yyyy");
                    MandateValidDate_txt.Text = Convert.ToDateTime(reader["MandateValidDate"]).ToString("dd/MM/yyyy");               
                    reader.Close();
                }
                cmd.Connection.Close();
            }

,因为我想在读取后保存数据,它给了我错误:

从字符串转换日期和/或时间时,转换失败。

SQL Server 2008 DATE类型显示我日期&时间在视觉工作室

首先使用convert . todatetime()转换从数据库返回的字符串,然后使用DateTime.ToString("dd/MM/yyyy"),您可以从Date &时间。

ContractStartDate_txt.Text = Convert.ToDateTime(reader["ContractStartDate"]).ToString("dd/MM/yyyy");
MandateValidDate_txt.Text = Convert.ToDateTime(reader["MandateValidDate"]).ToString("dd/MM/yyyy"); 

您有一个类型转换问题,需要为DB转换为正确的排序

。e db可能需要01/23/2011 US格式,而您将23/01/2011作为UK/Aus格式

你可以在Code或在db中修改,这取决于你。

a string.format("dd/mmm/yyyy");作为参数

CONVERT(CHAR, @adate,103)

我们总是将26Feb2011字符串传递给DB,这样我们就可以绕过排序问题

日期类型通常映射到DateTime类型(带有表示午夜的时间组件)。使用接受格式参数的ToString重载(例如,someDate.ToString("yyyy-MM-dd")

)

使用ISO年优先格式避免了日-月-年与月-日-年的歧义,而不依赖于使用单词作为月份名称。

有许多方法可以对日期时间进行格式化,其中一种简单的方法是以所需的格式从所需的表中获取数据。像这里一样,你需要显示日期,如果你的格式是dd/MM/yyyy,那么试试这个

select Convert(varchar(10),ContractStartDate,103) as ContractStartDateformat,,MandateValidDate from table where BrokerName=@BrokerName

转换和转换,检查这个以防万一,如果你需要不同的日期格式