sql-server - 无法使用 SQL Server 日期格式保存不同格式的日期
问题描述
我的服务器有 MM/dd/yyyy 格式。我正在保存用户的调查,其中包括他们提交调查的日期。但是一些用户得到了一个错误,即将 nvarchar 数据类型转换为日期时间数据类型导致的值超出范围。这是我使用 datetime.now 保存调查日期的时候。当我检查他们的计算机时,它们的日期格式不同。因此,我尝试将其更改为服务器日期格式并且它可以工作,但是这些用户不想更改他们的日期格式,所以是否有任何可能的解决方案而不更改他们计算机中的日期格式。
.AddWithValue("@SurveyDate", System.Data.SqlDbType.DateTime).Value = DateTime.NOw
.AddWithValue("@EDate", System.Data.SqlDbType.DateTime).Value = DateTime.Now
解决方案
您的代码应该是:
Dim dt As Date = DateTime.Today
.Add("@SurveyDate", System.Data.SqlDbType.DateTime).Value = dt
.Add("@EDate", System.Data.SqlDbType.DateTime).Value = dt
请注意,我已经更正了您对String
代替的使用Date
以及更正您对AddWithValue
代替的使用Add
。如果您要使用,请AddWithValue
正确使用它,即指定值:
.AddWithValue("@SurveyDate", dt)
.AddWithValue("@EDate", dt)
想法AddWithValue
是您提供值并从中推断出数据类型。问题在于可能会推断出错误的数据类型。例如,SQL Server 有date
,datetime
以及datetime2
其他日期。在这种情况下会推断出哪个?最好不要假设或关心,只需调用Add
并指定您想要的数据类型。
推荐阅读
- reactjs - 来自 localStorage 的令牌未定义
- r - 序数逻辑回归 - 整数因变量显示每个数据点的相关性
- php - 方法 Illuminate\Support\Collection::links 不存在。(查看:C:\xampp\htdocs\ContentBaseApp\resources\views\projects\index.blade.php)
- java - 我的 Java 项目没有打印出任何东西
- spring - 构建 Spring Boot 应用程序的冲突问题
- python - 根据最终 excel 文件中特定列中的空/空白值删除一行 - 熊猫数据框
- ffmpeg - 如何在 Raspberry Pi 上以可接受的 FPS 录制 USB 网络摄像头馈送
- java - 返回使用反射实现接口的类
- python - 关于tensorlfow keras学习率的查询?
- julia - 隐藏/删除实时文档按钮