0
我收到錯誤「缺少參數值」。我瀏覽了很多帖子,並嘗試了所有。缺少參數值
protected void Page_Load(object sender, EventArgs e)
{
PaystubParms pparms = new PaystubParms();
pparms.periodstart = 20120316;
pparms.periodend = 20120331;
pparms.empno = "91065";
pparms.checknbr = 2306;
PaystubCrystalReportSource.ReportDocument.SetDatabaseLogon("Abra_Reports","123456","Tsysmas","AbraHrms_Live");
ParameterField pfield0 = PaystubCrystalReportViewer.ParameterFieldInfo[0];
ParameterDiscreteValue pfield0val = new ParameterDiscreteValue();
pfield0val.Value = pparms.periodstart;
pfield0.CurrentValues.Add(pfield0val);
//-------------------------------------------------------------------------
ParameterField pfield1 = PaystubCrystalReportViewer.ParameterFieldInfo[1];
ParameterDiscreteValue pfield1val = new ParameterDiscreteValue();
pfield1val.Value = pparms.periodend;
pfield1.CurrentValues.Add(pfield1val);
//-------------------------------------------------------------------------
ParameterField pfield2 = PaystubCrystalReportViewer.ParameterFieldInfo[2];
ParameterDiscreteValue pfield2val = new ParameterDiscreteValue();
pfield2val.Value = pparms.empno;
pfield2.CurrentValues.Add(pfield1val);
//-------------------------------------------------------------------------
ParameterField pfield3 = PaystubCrystalReportViewer.ParameterFieldInfo[3];
ParameterDiscreteValue pfield3val = new ParameterDiscreteValue();
pfield3val.Value = pparms.periodstart;
pfield3.CurrentValues.Add(pfield1val);
PaystubCrystalReportSource.ReportDocument.SetParameterValue(0, pfield0.CurrentValues.Add(pfield0val));
*******************************************************************
I have also tried
PaystubCrystalReportSource.ReportDocument.SetParameterValue(0, pparms.periodstart);
*******************************************************************************
PaystubCrystalReportSource.ReportDocument.SetParameterValue(1, pfield1.CurrentValues.Add(pfield1val));
PaystubCrystalReportSource.ReportDocument.SetParameterValue(2, pfield2.CurrentValues.Add(pfield2val));
PaystubCrystalReportSource.ReportDocument.SetParameterValue(3, pfield3.CurrentValues.Add(pfield3val));
PaystubCrystalReportViewer.ReportSource = PaystubCrystalReportSource;
}
是的,我在日期參數中犯了一個錯誤。我從那以後把它卡到pparms.periodstart = DateTime.ParseExact(「20120316」,「yyyymmdd」,System.Globalization.CultureInfo.CurrentCulture); pparms.periodend = DateTime.ParseExact(「20120331」,「yyyymmdd」,System.Globalization.CultureInfo.CurrentCulture); – stackuser 2012-04-30 01:46:58
但它沒有解決問題。仍然得到相同的錯誤。 – stackuser 2012-04-30 01:55:15
我的意思是在你的水晶報告中,確保報告期望的參數類型與你在代碼中傳遞給它的類型相同。 – sinelaw 2012-04-30 13:05:00