3
Crystalレポートのプログラムを作成していますが、最初にレポートを実行するときに、同じレポートを2回目に実行するとこのエラーが発生します。C#Crystalレポートの引数が範囲外の例外
私はSQL Serverへのビューを使用して自分のデータを取得します。
cmd = new SqlCommand("Select * From referral where referralNo = '" +
lblReferral.Text + "' and clientNo = '" + cbClientNo.Text + "'", con);
cmd.CommandType = CommandType.Text;
da.SelectCommand = cmd;
da.Fill(ds, "referral");
rp.SetDataSource(ds);
f3.crt.ReportSource = rp;
f3.Show();
rp.Close();
このエラーが発生しています。その後、
An unhandled exception of type 'System.ArgumentOutOfRangeException'
occurred in System.Windows.Forms.dll
Additional information: Index 0 is out of range.
これらの私は私の問題への答えを考え出した
CrystalReport1 rp = new CrystalReport1();
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
reportViewer f3 = new reportViewer();
ここで、作成されたレポートインスタンスは( 'crt')ですか?それは設計時にf3に追加されたコントロールですか?完全な例外呼び出しスタックを取得してここに投稿してください。 * lblreferralやcbclientnoのテキストが編集可能な場合、コードがスクリプトに安全でないことを知らせるヒント* – dlatikay
アドバイスをいただきありがとうございます。彼らはクリスタルレポートであり、f3はreportviewerで使用されているフォームですこれらのデータをすべて取得するためのビューでは、lblreferralは自動生成番号で、cbclientはclientnoのみを格納するコンボボックスです –
okもう一度実行する前にすべてのインスタンスを作成しますか、既存のインスタンスを再利用していますか? – dlatikay