Click here to Skip to main content
15,879,184 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I have a following code with me to pass the parameters to a crystal report i was working fine before two days but now it give me an error as follows

Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))


My Code is

DateTime fdt = dateTimePicker1.Value.Date;
            DateTime edt = dateTimePicker2.Value.Date;
            DateTime from_date = dateTimePicker1.Value.Date;
            DateTime to_date = dateTimePicker2.Value.Date;
            string fdate = fdt.ToShortDateString();
            string edate = edt.ToShortDateString();
            
            if (fdt >= edt)
            {
                MessageBox.Show("To Date Should Be Greater Than From Date..!");
            }
            else
            {
                int user_id = TempDataStorage.userid;
                DatabaseConnection cs = new DatabaseConnection();
                Object o = cs.GetAfield("select branch_code from App_User where app_user_id=" + user_id + "");
                branch_code = o.ToString();


                string qry = "select opening_bal from Balance_details where sysdate= #" + fdate + "# and branch_code='" + branch_code + "'";
                OleDbCommand cmd1 = new OleDbCommand(qry, con);
                con.Open();
                Object retvalue = cmd1.ExecuteScalar();
                opening_bal = Convert.ToInt32(retvalue is DBNull ? 0 : retvalue);
                con.Close();

                string qry2 = "select closing_bal from Balance_details where sysdate= #" + edate + "# and branch_code='" + branch_code + "'";
                OleDbCommand cmd2 = new OleDbCommand(qry2, con);
                con.Open();
                retvalue = cmd2.ExecuteScalar();
                closing_bal = Convert.ToInt32(retvalue is DBNull ? 0 : retvalue);
                con.Close();

                ReportDocument cryRpt = new ReportDocument();
                //cryRpt.Load("E:\\VertexApp\\VertexApp\\balance_sheet.rpt");
                //string path = "D:\\Vertex_db\\Report\\balance_sheet.rpt";
                string path = @"D:\Vertex_db\Report\CrystalReport1.rpt";

                try
                {
                    cryRpt.Load(path);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }

                ParameterFieldDefinitions crParameterFieldDefinitions;
                ParameterFieldDefinition crParameterFieldDefinition;
                ParameterValues crParameterValues = new ParameterValues();
                ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue();
                //string voucher_code = TempDataStorage._print_code;
                crParameterDiscreteValue.Value = fdt;
                crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
                crParameterFieldDefinition = crParameterFieldDefinitions["From_Date"];
                crParameterValues = crParameterFieldDefinition.CurrentValues;

                //to print from date on report
                ParameterFieldDefinitions crParameterFieldDefinitions1;
                ParameterFieldDefinition crParameterFieldDefinition1;
                ParameterValues crParameterValues1 = new ParameterValues();
                ParameterDiscreteValue crParameterDiscreteValue1 = new ParameterDiscreteValue();
                //string voucher_code = TempDataStorage._print_code;
                crParameterDiscreteValue1.Value = from_date;
                crParameterFieldDefinitions1 = cryRpt.DataDefinition.ParameterFields;
                crParameterFieldDefinition1 = crParameterFieldDefinitions1["FDATE"];
                crParameterValues1 = crParameterFieldDefinition1.CurrentValues;

                // to print to date on report
                ParameterFieldDefinitions crParameterFieldDefinitions2;
                ParameterFieldDefinition crParameterFieldDefinition2;
                ParameterValues crParameterValues2 = new ParameterValues();
                ParameterDiscreteValue crParameterDiscreteValue2 = new ParameterDiscreteValue();
                //string voucher_code = TempDataStorage._print_code;
                crParameterDiscreteValue2.Value = to_date;
                crParameterFieldDefinitions2 = cryRpt.DataDefinition.ParameterFields;
                crParameterFieldDefinition2 = crParameterFieldDefinitions2["TDATE"];
                crParameterValues2 = crParameterFieldDefinition2.CurrentValues;

                //pass the end date as a range to select the records
                ParameterFieldDefinitions crParameterFieldDefinitions3;
                ParameterFieldDefinition crParameterFieldDefinition3;
                ParameterValues crParameterValues3 = new ParameterValues();
                ParameterDiscreteValue crParameterDiscreteValue3 = new ParameterDiscreteValue();
                //string voucher_code = TempDataStorage._print_code;
                crParameterDiscreteValue3.Value = edt;
                crParameterFieldDefinitions3 = cryRpt.DataDefinition.ParameterFields;
                crParameterFieldDefinition3 = crParameterFieldDefinitions3["To_Date"];
                crParameterValues3 = crParameterFieldDefinition3.CurrentValues;

                //pass the opening balance amt as a parameter to report
                ParameterFieldDefinitions crParameterFieldDefinitions4;
                ParameterFieldDefinition crParameterFieldDefinition4;
                ParameterValues crParameterValues4 = new ParameterValues();
                ParameterDiscreteValue crParameterDiscreteValue4 = new ParameterDiscreteValue();
                //string voucher_code = TempDataStorage._print_code;
                crParameterDiscreteValue4.Value = opening_bal;
                crParameterFieldDefinitions4 = cryRpt.DataDefinition.ParameterFields;
                crParameterFieldDefinition4 = crParameterFieldDefinitions4["Opening_Bal"];
                crParameterValues4 = crParameterFieldDefinition4.CurrentValues;

                //pass the closing balance amt as a parameter to report
                ParameterFieldDefinitions crParameterFieldDefinitions5;
                ParameterFieldDefinition crParameterFieldDefinition5;
                ParameterValues crParameterValues5 = new ParameterValues();
                ParameterDiscreteValue crParameterDiscreteValue5 = new ParameterDiscreteValue();
                //string voucher_code = TempDataStorage._print_code;
                crParameterDiscreteValue5.Value = closing_bal;
                crParameterFieldDefinitions5 = cryRpt.DataDefinition.ParameterFields;
                crParameterFieldDefinition5 = crParameterFieldDefinitions5["Closing_Bal"];
                crParameterValues5 = crParameterFieldDefinition5.CurrentValues;



                crParameterValues.Clear();
                crParameterValues.Add(crParameterDiscreteValue);
                crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);

                crParameterValues1.Clear();
                crParameterValues1.Add(crParameterDiscreteValue1);
                crParameterFieldDefinition1.ApplyCurrentValues(crParameterValues1);

                crParameterValues2.Clear();
                crParameterValues2.Add(crParameterDiscreteValue2);
                crParameterFieldDefinition2.ApplyCurrentValues(crParameterValues2);

                crParameterValues3.Clear();
                crParameterValues3.Add(crParameterDiscreteValue3);
                crParameterFieldDefinition3.ApplyCurrentValues(crParameterValues3);

                crParameterValues4.Clear();
                crParameterValues4.Add(crParameterDiscreteValue4);
                crParameterFieldDefinition4.ApplyCurrentValues(crParameterValues4);

                crParameterValues5.Clear();
                crParameterValues5.Add(crParameterDiscreteValue5);
                crParameterFieldDefinition5.ApplyCurrentValues(crParameterValues5);

                crystalReportViewer1.ReportSource = cryRpt;
                crystalReportViewer1.Refresh();



Please Help Me to solve this error
Posted

1 solution

SQL
I solved this question also i create a parameter in crystal report and i pass that parameter to the crystal report
In above i just miss spell the parameter name i correct it for myself
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900