上周我有一个奇怪的行为,如果有条件,我会感谢任何一个知道发生了什么的人。虽然我找到了一个工作区,但我不喜欢在阴影中。
让我解释一下。
场景0 (这在一切爆炸之前都有效)
Langauge :Visual Basic
Net Fwk :3.5
客户端:XP(x86)机器(Winforms)
数据库:访问Win Server 2008的共享文件夹(不知道是x86还是x64)
数据库提供商:Jet OleBD
办公室:2007 x86
为什么要访问?
低成本,MS Access可供用户使用,它适合我所需要的一切。
有一天Win7出现了:
场景1 (这是一切都停止工作的时候)
Langauge :Visual Basic
Net Fwk :3.5
客户端:Win 7(x64)机器(Winforms)
数据库:访问Win Server 2008的共享文件夹(不知道是x86还是x64)
数据库提供商:ACE OleBD x86
办公室:2010 x86
在这个新场景中,应用程序开始出错了。
奥德赛开始了。
首先,我在开发机器上测试了应用程序。该场景与场景0类似,因此可以正常运行。
然后我开始使用Win7测试机并试图找出问题所在:
场景2
Langauge :Visual Basic
Net Fwk :3.5
客户端:Win 7(x64)机器(Winforms)
数据库:访问本地文件夹
数据库提供商:ACE OleBD x86
办公室:2010 x86
我测试应用程序,一切正常。
在像婴儿一样哭2或3分钟后,我决定使用我的Win7测试机通过互联网连接到我客户的服务器。
场景3
Langauge :Visual Basic
Net Fwk :3.5
客户端:Win 7(x64)机器(Winforms)
数据库:访问Win Server 2008的共享文件夹(不知道是x86还是x64)
数据库提供商:ACE OleBD x86
办公室:2010 x86
惊讶于我针对本地数据库运行的相同应用程序,对远程数据库失败(刚刚更改了配置文件中的连接字符串)。
我已经开始向应用程序添加调试语句并一次又一次地进行测试,因此我可以找到为什么它不能像指定的那样工作。
最后,我发现了声明
If FinalDate.Subtract(StartingDate).TotalDays + 1 = 7 Then
在场景1和3中始终返回 False (总是!)。方案0和2中的 True 或 False 。
我诅咒Thor并将此更改测试为声明
Dim totalDays As Integer = CInt(FinalDate.Subtract(StartingDate).TotalDays)
If totalDays + 1 = 7 Then
如你所想,这很好用。
但问题是“为什么?”。
WHY ???? !!!!
有什么想法吗?
答案 0 :(得分:0)