上个星期我有一种奇怪的行为,如果我有条件的话,我要感谢任何知道发生了什么的人。虽然我找到了一个工作狂,但我不喜欢呆在阴影里。
让我解释一下。
场景0 (这在一切爆发之前都是有效的)
Langauge:Visual
网Fwk:3.5
Client:XP (x86)机器(Winforms)
数据库:对Win Server 2008共享文件夹的访问(不知道x86还是x64)
DB提供程序:Jet OleBD
Office:2007 x86
为什么要进入?
低成本,MS访问为用户提供,它符合我所需要的。
有一天Win7出现了:
场景1 (这里是一切停止工作的时候)
Langauge:Visual
网Fwk:3.5
Client:Win 7 (x64)机器(Winforms)
数据库:对Win Server 2008共享文件夹的访问(不知道x86还是x64)
DB提供程序:ACE OleBD x86
Office:2010 x86
在这个新的场景中,应用程序开始出错。
奥迪西岛开始了。
首先,我在我的开发机器上测试了应用程序。这个场景类似于场景0,所以一切都正常。
然后我启动了一台Win7测试机器,并试图找出问题所在:
场景2
Langauge:Visual
网Fwk:3.5
Client:Win 7 (x64)机器(Winforms)
数据库:对本地文件夹的访问
DB提供程序:ACE OleBD x86
Office:2010 x86
我测试应用程序,一切都很好。
在像婴儿一样哭了两三分钟后,我决定用我的Win7测试机通过互联网连接到我的客户服务器。
场景3
Langauge:Visual
网Fwk:3.5
Client:Win 7 (x64)机器(Winforms)
数据库:对Win Server 2008共享文件夹的访问(不知道x86还是x64)
DB提供程序:ACE OleBD x86
Office:2010 x86
令我惊讶的是,我在本地DB上运行的应用程序对远程db失败(刚刚更改了配置文件中的连接字符串)。
我已经开始将调试语句添加到应用程序中,并进行了一次又一次的测试,这样我就可以找到为什么它不能像spected那样工作了。
最后,我发现这个陈述
If FinalDate.Subtract(StartingDate).TotalDays + 1 = 7 Then在场景1和3中返回始终False (总是!)。以及场景0和2中的True或False。
我诅咒了托尔并测试了这份声明的变化
Dim totalDays As Integer = CInt(FinalDate.Subtract(StartingDate).TotalDays)
If totalDays + 1 = 7 Then就像你想象的那样,这很好。
但问题是“为什么?”
为什么?!
有什么想法吗?
发布于 2013-07-15 22:08:49
TotalDays
获取以整天和小数天表示的当前TimeSpan结构的值。
因此,如果你只需要一整天,那么它是最安全的投给整数,并避免任何可能的担心的时间部分。
https://stackoverflow.com/questions/17662642
复制相似问题