「レポートの実行に必要な 1 つ以上のパラメータが指定されていません」というエラーが表示される 質問する

「レポートの実行に必要な 1 つ以上のパラメータが指定されていません」というエラーが表示される 質問する

ユーザーから 2 つの値を受け取り、それをクエリに入力して、それらのエントリに関連付けられたデータを検索するレポートを作成しています。

たとえば、従業員、パフォーマンス指標、およびそれらに関連付けられた値のリストがある場合、ユーザーは従業員名/パフォーマンス指標を選択すると、その指標に対する従業員のスコア情報を取得できます。

2 つのパラメータがあり、それぞれが従業員名とメジャーの個別のリストを取得する SQL クエリから入力されています。また、下の表では、~ 'WHERE name = @Name AND measure = @Measure' に基づいて情報を取得するだけですが、レポートをローカルで実行するために [プレビュー] をクリックすると、次のエラーが表示されます: "レポートの実行に必要な 1 つ以上のパラメータが指定されていません"

パラメータの値をテキスト ボックスに直接入力すると、値が正しく入力されるため、パラメータが正しく機能していることがわかります。また、クエリを変更してパラメータを 1 つだけ受け入れるようにすると (つまり、WHERE measure = @Measure)、クエリは機能します。

パラメータが機能していて適切に入力されていることはわかっているので、なぜこのエラーが発生するのかわかりません。

ベストアンサー1

.NET 4.0 でローカル レポート (.rdlc ファイル内) を使用していて、パラメータ値の 1 つに空の文字列が含まれていたときに、この動作が発生しました。パラメータの設定は正しかったのですが、

  report.SetParameters(
            new List<ReportParameter> {
                new ReportParameter("Title", Messages.Title),
                new ReportParameter("SubTitle", Messages.Subtitle))
            }
            );

これは、両方のパラメータに実際に文字が含まれている場合にのみ機能し、そうでない場合は前述の例外がスローされました。

おすすめ記事