我的 SQL Server 数据库列之一(仅)有一个奇怪的问题,该列声明为
datetime
。这是一个更大的应用程序,我使用了很多带有 datetime
列的表格,并且所有表格都设置正确(日期和时间) - 除了一个。
语法(例如)如下:
FKMachineMeasureModulesMachineMeasureHistoryBindingSource.Current("LastTested") = Now()
与 SQL Server 的连接是通过数据集完成的。所以我假设,也许列声明可能被设置为
date
而不是 datetime
但不是,所有地方都正确声明。
但是,上面的语句会在 SQL Server 表中生成“2024-07-18 00:00:00.000”。
如果我通过运行 SSMS 更新列
UPDATE [Machine_MeasureModules]
SET RLastTested = '18.07.2024 15:10'
WHERE id = 15271
已正确设置为
2024-07-18 15:10:00.000
。
当我调试该行并在代码中更新时,内联变量浏览器显示它也是正确的。但在 SQL Server 上,总是没有时间。
我还尝试对此特定列进行格式转换
Now()
,但结果相同。
为了解决这个问题,在数据源管理器中,我删除了该列,然后再次添加了它。并且:奇迹发生了,类型现在设置正确,列存储并显示日期和时间。