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

这也是在我的代码后面

Date.Now只显示月份名称

如果要插入数据的列是DateTime类型的,则需要插入有效的日期时间。字符串是不够的。

SqlPastPlaces.InsertParameters["Month"].DefaultValue = DateTime.Now;

我不会使用varchar或整数列来存储日期部分,原因很简单,因为一旦需要将其更改为显示日和月,或年和月,它将导致大量额外的工作。存储日期和查询/只显示您需要的数据。

找到了铜矿,这是我的看法。下面的行导致了这个问题。

<asp:Parameter DbType="Date" Name="Month" />

通过将其更改为以下内容,现在它可以工作了

<asp:Parameter DbType="String" Name="Month" />

我完全忘了更改这一点