陈述的奇怪行为
上周我有一个奇怪的行为,如果条件,我会感谢任何人谁知道发生了什么。虽然我找到了一个workarroud,但我不喜欢处于阴影之中。陈述的奇怪行为
让我解释一下。
场景0(这是工作的一切爆炸前)
语言特点:Visual Basic中
净FWK:3.5
客户:XP(x86)的机器(的WinForms)
数据库:访问Win Server 2008的共享文件夹(不知道是x86还是x6 4)
DB提供:喷气OleBD
办公室:2007年86
为什么访问?
低成本,可供用户使用的MS Access,它适合我所需要的一切。
有一天,Win7的出现:
方案1(这里是当一切都停止工作)
语言特点:Visual Basic中
净FWK:3.5
客户端:Win 7(x64)机器(Winforms)
数据库:上一个双赢Server 2008中的共享文件夹的访问(不知道是不是x86或x64)
DB提供:ACE OleBD 86
办公室:2010 86
在这个新场景,应用程序开始工作错误。
奥迪西开始了。
首先,我在我的开发机器上测试了应用程序。该场景与场景0类似,所以永不妥协。
然后,我开始了Win7的测试机,并试图找到,如果我能得到其中的问题是:
方案2
语言特点:Visual Basic中
净FWK :3。5
客户:Win 7的(x64)的机器(的WinForms)
数据库:ACE OleBD 86
办公室:时间:2010年86
我的本地文件夹
DB提供访问测试应用程序,一切正常。
在哭了2到3分钟后,我决定用我的Win7测试机通过互联网连接到我的客户的服务器。
方案3
语言特点:Visual Basic中
净FWK:3.5
客户:Win 7的(x64)的机器(的WinForms)
数据库:访问在Win Server 2008的共享文件夹上(不知道是x86还是x64)
DB提供:ACE OleBD 86
办公室:2010 86
惊奇相同的应用程序运行我对我的本地数据库,无法对远程数据库(只是改变了在配置文件中的连接字符串)。
我已经开始向应用程序添加调试语句并且一次又一次地进行测试,以便我能够找出为什么它不像预期的那样工作。
最后,我发现声明
If FinalDate.Subtract(StartingDate).TotalDays + 1 = 7 Then
回报方案1和3总是假(ALWAYS!)。而在场景0 真或假和2
我该死的雷神和测试这种变化的声明
Dim totalDays As Integer = CInt(FinalDate.Subtract(StartingDate).TotalDays)
If totalDays + 1 = 7 Then
如你想象,这工作正常。
但问题是“为什么?”。
为什么???? !!!
有什么想法?