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();
}
,因为我想在读取后保存数据,它给了我错误:
从字符串转换日期和/或时间时,转换失败。
首先使用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
转换和转换,检查这个以防万一,如果你需要不同的日期格式