首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

水晶报表,"参数不正确"该如何处理

2012-01-19 
水晶报表,参数不正确string[]fieldArrayParameterFieldspfsnewParameterFields()fieldArrayDynamicP

水晶报表,"参数不正确"
string[]   fieldArray;
                        ParameterFields   pfs   =   new   ParameterFields();
                        fieldArray   =   DynamicPrint.fieldStr.Split( ', ');
                        SqlConnection   con   =   DBT.CreateConnection();
                        con.Open();
                        SqlDataAdapter   sda   =   new   SqlDataAdapter( "select   "   +   DynamicPrint.fieldStr   +   "   from   _Test ",   con);
                        DataSet   ds   =   new   DataSet();
                        sda.Fill(ds,   "_Test ");
                        CrystalReport3   cr   =   new   CrystalReport3();
                        for   (int   i   =   0;   i   <   fieldArray.Length;   i++)
                        {
                                ParameterField   pf   =   new   ParameterField();
                                pf.Name   =   "t "   +   Convert.ToString(i   +   1);
                                ParameterDiscreteValue   pdv   =   new   ParameterDiscreteValue();
                                pdv.Value   =   fieldArray[i];
                                pf.CurrentValues.Add(pdv);  
                                pfs.Add(pf);
                                string   myStr   =   " ";
                                myStr   =   "tt "   +   Convert.ToString(i   +   1);  
                                cr.DataDefinition.FormulaFields[myStr].Text   =   "{_Test. "   +   fieldArray[i]   +   "} ";

                        }
                        crystalReportViewer1.ParameterFieldInfo   =   pfs;
                        cr.SetDataSource(ds.Tables[ "_Test "]);
                        crystalReportViewer1.ReportSource   =   cr;



[解决办法]
你的選行環境是怎么樣的,錯誤信息是什么,要不別人怎么幫你去查呀.
[解决办法]
如下代码是正确的代码,这里使用的是调用rpt文件,rpt连接sp,传递parameters,就可以了。
this.reportDocument1.FileName = frmMain.getAppPath() + "\\report\\SalesQuotation.rpt ";

ParameterField paramPrinter = new ParameterField();
paramPrinter.ParameterFieldName = "@specnum ParameterDiscreteValue paramValue = new ParameterDiscreteValue();
paramValue.Value = "QI-800-L-A0002 "; //this.specnum;
paramPrinter.CurrentValues.Add(paramValue);
ParameterFields ParamFields = new ParameterFields();
ParamFields.Add(paramPrinter);
crystalReportViewer1.ParameterFieldInfo = ParamFields;

this.crystalReportViewer1.ReportSource = reportDocument1;
this.crystalReportViewer1.Show();
[解决办法]
因为报表的参数和程序传进去的参数不一致

请仔细检查比对

热点排行