我正在使用 .NET 程序从分隔的文本文件中读取数据,然后以编程方式将数据添加到 Access 数据库(.mdb 文件)。该程序使用带有 .NET 3.5 框架的 VB.Net。
执行数据添加的例程使用带有如下INSERT
语句的 OleDbCommand:
INSERT INTO myTable (secID, dataDate, salary ) VALUES (@secID, @dataDate, @salary)
参数对应的OleDBCommand的参数值@dataDate
通常有一个值,例如"25-Nov-2011 00:00"
(一个字符串)。[如果我在将一行添加到数据库之前调试和检查 OleDBCommand,这就是我所看到的]。
通常,当在 Access 中检查数据时,日期会显示为没有时间值,如下所示"25/11/2011"
:这是期望的结果。
但是,对于一台计算机,当将日期添加到 MS Access 时,它们会添加一个时间值(它们显示为:"25/11/2011 12:00 p.m."
)。我知道如何在 Access 中解决这个问题(运行 dateValue 查询)。我的问题是我无法弄清楚为什么这只发生在这台机器上。它会导致此计算机上下游的数据查询问题。
问题计算机运行 Windows 7 并安装了 MS Access 2010(尽管这仅与检查数据有关,因为我们使用的是 .NET 的 oleDBCommand - 我认为?)。这是一台公司计算机,因此安全权限等非常严格。其他经过测试的计算机(我们自己的)具有相同的 Windows 和 Access 配置,但问题不同。
我们还检查了所有计算机上的区域日期/时间设置是否相同。只有这台电脑有问题。
我已经花了几天的时间,非常感谢以前遇到并解决过这个问题的人的帮助!非常感谢。