Date.Now只显示月份名称
本文关键字:显示 Now Date | 更新日期: 2023-09-27 18:19:17
我有一个Asp.net应用程序,其中一个按钮的onclick写入我的数据库。我遇到的问题是,对于日期列,我只想显示月份名称,而不是其他任何内容。
我尝试了下面的方法,但我总是得到一个消息说"字符串未被识别为有效的日期时间"。
SqlPastPlaces.InsertParameters["Past_Place"].DefaultValue = ((TextBox)txtDestination).Text;
SqlPastPlaces.InsertParameters["Month"].DefaultValue = DateTime.Now.ToString("MMMM");
SqlPastPlaces.Insert();
第二方案
var CurrentMonth = String.Format("{0:MMMM}", DateTime.Now).ToString();
SqlPastPlaces.InsertParameters["Past_Place"].DefaultValue = ((TextBox)txtDestination).Text;
SqlPastPlaces.InsertParameters["Month"].DefaultValue = CurrentMonth;
SqlPastPlaces.Insert();
第二个解决方案,当我调试时,给我'October',但不写入我的数据库上的插入。
两种解决方案都在SqlPastPlaces.Insert()
上失效。数据库中的列设置为varchar
。
这也是在我的代码后面
如果要插入数据的列是DateTime类型的,则需要插入有效的日期时间。字符串是不够的。
SqlPastPlaces.InsertParameters["Month"].DefaultValue = DateTime.Now;
我不会使用varchar或整数列来存储日期部分,原因很简单,因为一旦需要将其更改为显示日和月,或年和月,它将导致大量额外的工作。存储日期和查询/只显示您需要的数据。
找到了铜矿,这是我的看法。下面的行导致了这个问题。
<asp:Parameter DbType="Date" Name="Month" />
通过将其更改为以下内容,现在它可以工作了
<asp:Parameter DbType="String" Name="Month" />
我完全忘了更改这一点