RDLC を使用してレポートを作成しています。Visual Studio 2010 Ultimate + SQL Server 2012 Express
InvoiceID は文字列です。これは、Dataset TableAdapter のパラメーターを使用したクエリです。この SQL を DataSet の Query Builder 部分に入力しました。
SELECT SequenceNo, InvoiceID, VisitID, CaseNo, WalkinID, Payment, Invoice_date, Status
FROM INVOICE
WHERE (InvoiceID = @InvoiceID)
Query Builder で Execute Query をクリックすると、値を要求されます。20130508-650875に入ります。引用符は一切ありません。その後、私が望んでいた結果が得られます。
次に、プログラムを実行してレポートを生成します。
C# の部分:
INVOICETableAdapter.Fill(dataset.INVOICE, InvoiceID);
MessageBox.Show(InvoiceID.ToString()); //just to confirm what value the parameter is getting
さて、レポートの表からは何も出てきません。どうしてか分かりません。レポートのテーブルには、ドラッグした列のヘッダーのみが含まれるようになりました。
クエリの ---WHERE--- 部分を削除しようとしたところ、多くの結果が得られました。
SELECT SequenceNo, InvoiceID, VisitID, CaseNo, WalkinID, Payment, Invoice_date, Status
FROM INVOICE
//WHERE (InvoiceID = @InvoiceID)
ここで、パラメーターを指定してレポートを実行すると、レポートのテーブルが空白になる理由をお聞きしたいと思います。ただし、パラメーターがない場合は、すべての結果が生成されます。それはクエリでしょうか?