0

テキスト列を受け取り、区切り記号に基づいて分割する Crystal Reports でレポートを作成しました。次に、配列の最初の部分が数値に変換され、2 番目の部分が日付に変換されます。変換されず、レポートがクラッシュする原因となっている不良データがいくつかあります。不良データを見つけるのに役立つ別のレポートを作成したいと考えています。このレポートには、他のレポートで解析できなかったすべてのレコードが表示されます。

私は主に .Net 開発者であり、ブール値を返す DateTime.TryParse(string) のようなことを行う素晴らしい能力を持っています。Crystal Reports の数式フィールドで同様のことを実行できるようにする必要がありますが、私の人生では、同等の、またはあらゆる種類の try/catch エラー処理を見つけることができません。

助言がありますか?

4

1 に答える 1

0

Crystal Report Engine の例外処理

アプリケーションで Crystal Reports を実行すると、Crystal Report Engine によって例外が発生する場合があります。例外が発生すると、エラー ダイアログが表示されたり、レポートの処理が停止したりする可能性があります。例外の原因のいくつかは次のとおりです。

  • レポート エンジンがデータベースに接続できません。これは、データベースの場所または不正なログオン パラメータがレポート エンジンに渡されたことが原因である可能性があります。テーブルが別のユーザーによってロックされている、データベース エンジンが正しくインストールされていない、テーブルが破損しているなど、他のデータベース エラーが原因である可能性もあります。

  • パラメータに不正なデータが渡されました。パラメータがコードまたはユーザー入力から誤ったデータを受け取ると
    、レポートの実行が停止する可能性があります。たとえば、
    数値パラメーターに文字列値が渡されると、レポートの実行が停止します。

  • Crystal Reports の式にエラーが見つかりました。レポート内の数式の 1 つが正しく評価されない場合、例外
    がスローされます。これは、式の構文が正しくないか、ゼロ除算エラーなどの別のプログラム エラーが原因である可能性があります。

  • レポート エンジンはレポートを開くことができませんでした。これは、誤ったファイル名またはパスが指定された場合、Crystal 以外のレポートが
    選択された場合、またはレポートが破損している場合に発生する可能性があります。

Crystal Report Engine に例外自体を処理させて独自のエラー メッセージを表示させることも、自分で例外を処理することもできます。プログラムで例外を処理する利点には、次のようなものがあります。

  • ユーザーに表示されるエラー メッセージをカスタマイズできます。たとえば、レポートがデータ ソースに接続できない場合に「ログオンに失敗しました」と表示する代わりに、「データベースに接続できません。指定されたログオン パラメータが正しくありません」などのより完全なメッセージを表示できます。これにより、ユーザーにより詳細な情報が提供されます。

  • アプリケーションのログ ファイルにイベントを書き込むことができます。エラー メッセージ、エラー ID、発生時刻、およびその他の関連情報をログ ファイルに書き込むことができます。これにより、エラーを追跡して後で確認することができます。

  • 独自のコードで例外を処理して、レポートが処理を続行できるようにすることができます。エラーの内容を確認することで、エラーを処理し、正しい情報でレポートを再実行するコードを記述できる場合があります。

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

于 2013-04-02T17:22:38.297 に答える