如何解决将varchar转换为日期时间数据类型
这是在Microsoft SQL Server Management Studio中;我的表中有一列Order_Date
,数据类型为datetime
。
在我的ASP.NET Web应用程序中,我使用以下查询插入日期:
"INSERT INTO Order (ORDER_DATE) VALUES ('" + System.DateTime.Now + "')";
我之前在另一个项目中做过同样的事情,但是在那里没有出现错误。在尝试插入数据时,出现错误。我该如何解决这个错误?
解决方法
将
System.DateTime.Now
附加到您的INSERT
字符串后,它将由C#自动转换为字符串。但是,它产生的字符串将取决于执行它的框上的区域/区域性设置。极不可能生成SQL可以理解的日期时间字符串格式。因此,您需要通过在生成字符串时显式设置它来确保使用正确的格式:
"INSERT INTO Order (ORDER_DATE) Values ('" + System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "')";
,
您可以将其设置为类似SqlType:
"INSERT INTO Order (ORDER_DATE) Values ('" + new System.Data.SqlTypes.SqlDateTime(DateTime.Now).ToString() + "');"
签出: https://docs.microsoft.com/en-us/dotnet/api/system.data.sqltypes.sqldatetime
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。