C# 如何在sql server中以dd/MM/yyyy格式存储日期?
这是我的密码C# 如何在sql server中以dd/MM/yyyy格式存储日期?,c#,sql-server,date,C#,Sql Server,Date,这是我的密码 DateTime datetime = DateTime.Today; labelDate.Text = datetime.ToString("'dd'/'MM'/'yyyy"); DateTime d = datetime; SqlConnection con = new SqlConnection(); con.ConnectionString= @"data source = desktop-u9dun78\sqlexpress;database = Al_Yousuf_D
DateTime datetime = DateTime.Today;
labelDate.Text = datetime.ToString("'dd'/'MM'/'yyyy");
DateTime d = datetime;
SqlConnection con = new SqlConnection();
con.ConnectionString= @"data source = desktop-u9dun78\sqlexpress;database = Al_Yousuf_Db;integrated security=SSPI";
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO StockEntryTB(Date,Product_No,Product_Name,Quantity,Original_Cost,Selling_Cost)VALUES('" + d + "'," + textBoxProdNo.Text + ",'" + textBoxProdName.Text + "','" + textBoxQuantity.Text + "'," + textBoxOriginalCost.Text + "," + textBoxSellingCost.Text + ")", con);
cmd.ExecuteNonQuery();
con.Close();
但是它以yyyy/dd/MM
格式存储日期。比如说2016-06-11
(2016/6/11),但我想像11/06/2016
一样存储 住手!
您的SQL Server中有一个类型。决不能将日期时间
值存储为字符串
在SQL Server中,datetime
值存储为二进制。您可以看到SQL Server向您展示的一些格式。但是在引擎盖下,它没有任何隐含的格式
这就是为什么,您应该将DateTime作为DateTime插入数据库,并从数据库中获取DateTime值。“格式”概念仅在您使用该日期时间值的文本(字符串)表示时适用
相反
- 将
列定义为或类型日期
- 直接用a而不是字符串插入
值DateTime
Close
或dispose
方法
作为最后一件事,
Date
可能是未来SQL Server版本中的一个选项,您可能希望将其用作[Date]
。但作为更好的解决方案,请将列名更改为非保留字。您可以在从数据库检索后格式化日期。
C.:。格式(“{0:d/M/yyyy HH:mm:ss}”,dt);
其中dt是日期时间类型变量,其中包含要格式化的日期。您不应尝试以特定格式存储日期。数据库具有要使用的日期类型,然后在UI中显示您想要的格式。1)考虑在表定义上使用DATETIME类型而不是VARCHARE()类型。2) 我建议对数据库调用使用存储过程,而不是使用用户输入生成的字符串。3) 如果您需要特定格式,我建议在显示数据时进行格式化。谢谢,请告诉我如何以所需格式存储数据code@John同样,您不应该以任何格式存储它们。只需将它们存储为
DateTime
。“格式”概念仅在获得其字符串表示形式时适用。