2

ReportExecution2005.asmx Web サービスを使用する C# プロジェクトがあります。私のプロジェクトでは、いくつかのデータベース レコードをループし、行のデータをレポートのパラメーターに渡し、レポートをレンダリングします。

レポートは単純な 1 つのデータセット、1 つのテーブル レポートで、最終的に Excel にエクスポートします。

レポートをレンダリングしているときに、渡したパラメーターが実際にレポートのデータセット/テーブルから行を返す結果になるかどうかわかりません。レポートがデータを返す場合は、レポートをメールで送信します。ただし、レポートの表が空の場合は、このレポートをスキップして次のレポートに進む必要があります。

レンダリングされたレポートをチェックして、データセットまたはテーブルがデータを返したかどうかを確認する方法はありますか?

ご覧いただきありがとうございます。

4

1 に答える 1

2

これは、レポートよりもバックエンド SQL で実行できるもののように思えます。レポートが生成されるだけで、私の知る限り、これを行うことができるものは何も組み込まれていません。サブスクリプションの知識はかなり基本的なものです....しかし、データベースロジックから外れる可能性のある動的サブスクリプションを行うことができます。

このためにサブスクリプションを動的にするために、多層アプローチを行うことができると思います。

  1. データを含むレポートを追跡するデータベースのジョブを SQL Database に作成します。RecordTable select (reportname), dateadd(day, datediff(day, 0, getdate()), 0), Count(*) from (tabledataset) に簡単に挿入するだけです。
  2. データセットに行があるかどうかにかかわらず、このジョブを毎日設定された時間に実行してデータを入力します。
  3. 行数がゼロより大きい場合はクエリを実行し、そうでない場合は送信する動的サブスクリプションを作成します。
于 2013-04-10T16:16:37.387 に答える