2010-11-25 86 views
0

我有一个报告选择开始日期和结束日期。系统参数超出范围例外

我在办公室进行了测试,工作正常。

当它安装在用户的位置时,会弹出以下错误消息。 alt text

我想知道为什么?

我带回数据库并在办公室运行。

仍然正常工作。

回答

3

好吧,它不是DateTime.Parse中的解析问题,这是我第一次预期。您的代码(Form1.Calculat)直接调用构造函数,因此您应该能够记录您尝试使用哪些值来创建DateTime以及数据库的哪一行导致问题。

我们无法为您做任何诊断工作,但是一旦您计算出了什么值,您应该查看代码以确定它们来自哪里。

您的客户是否有不同的默认文化到您的开发机器?这通常是第一个通话端口 - 但除非您将日期/时间字符串解析为其组成位,否则我不会特别期望这种失败模式。

如果你可以发布一些代码,那真的有帮助。

+0

其实,我已经检查了区域设置。设置是相同的。 – william 2010-11-25 08:14:58

0

您是否将值传递给TimeToTicks方法? 可能这些值没有形成有效的DateTime。为什么它可以在你的办公室PC上运行,可能是因为你有不同的文化设置。

例如,在一种文化中,“11/25/2010”是格式(MM/dd/yyyy)的有效日期,但在不同的文化中,日期格式设置为(dd/MM/yyyy )它不会是有效的日期。

您可以从控制面板更改系统日期格式或相应地修改您的代码。希望这可以帮助。

0

我认为这是大多数问题文化特定而不是任何其他问题。在一个系统中,日期格式将是MM/DD/YYYY,在其他系统中则是DD/MM/YYYY或类似的。所以日期时间对象应该挑选文化特定的,并且值也应该以这种方式传递。

希望它能解决这个问题。