0

我在 Crystal Reports 中创建了一个报表,它接受一个文本列并根据分隔符对其进行拆分,然后将数组的第一部分转换为数字,第二部分转换为日期。我们有一些未转换的不良数据导致报告崩溃,我想创建另一个报告来帮助查找不良数据。此报告将显示其他报告中无法解析的所有记录。

我主要是一名 .Net 开发人员,我们拥有出色的能力来执行返回布尔值的 DateTime.TryParse(string) 之类的事情。我需要能够在 Crystal Reports 公式字段中执行类似的操作,但在我的一生中,我找不到等效项或任何类型的 try/catch 错误处理。

有什么建议么?

4

1 回答 1

0

处理 Crystal Report 引擎的异常

当您通过应用程序运行 Crystal Reports 时,Crystal Report Engine 有时可能会导致异常。发生异常时,可能会导致出现错误对话框或导致报告停止处理。异常的一些原因是:

  • 报表引擎无法连接到数据库。这可能是因为已将数据库位置或不正确的登录参数传递给报表引擎。也可能是由于其他数据库错误,例如表被另一个用户锁定、数据库引擎安装不正确或表损坏。

  • 已将不正确的数据传递给参数。如果参数从代码或用户输入中接收到不正确的数据,可能会导致
    报告停止运行。例如,传递给
    数字参数的字符串值将停止运行报告。

  • 在 Crystal Reports 公式中发现错误。如果无法正确评估报告中的某个公式,
    则会引发异常。这可能是由于公式中的语法不正确或其他程序错误,例如除以零错误。

  • 报表引擎无法打开报表。如果提供了不正确的文件名或路径、
    选择了非 Crystal 报告或报告已损坏,则可能会发生这种情况。

您可以选择让 Crystal Report Engine 自己处理异常,并显示它自己的错误消息,或者您可以决定自己处理异常。以编程方式处理异常的一些优点是:

  • 您可以自定义向用户显示的错误消息。例如,当报表无法连接到数据源时,您可以显示更完整的消息,而不是显示“登录失败”,例如“无法连接到数据库,提供的登录参数不正确”。这将为用户提供更详细的信息。

  • 您可以将事件写入应用程序的日志文件。您可以选择将错误消息、错误 ID、发生时间和其他相关信息写入日志文件。这将允许稍后跟踪和审查错误。

  • 您可以使用自己的代码处理异常,以允许报表继续处理。通过检查错误是什么,您可以编写代码来处理错误并使用正确的信息重新运行报告。

http://msdn.microsoft.com/en-us/library/aa288423%28v=vs.71%29.aspx

于 2013-04-02T17:22:38.297 回答