c# - Crystal report With parameter passing & change database information dynamically -
please me out crystal report more 1 parameters passing & change database information dynamically. had code follows:
parameterfields paramfields = new parameterfields(); reportdocument reportdocument = new reportdocument(); reportdocument.load(server.mappath(reportname + ".rpt")); parameterdiscretevalue crparameterdiscretevalue= new parameterdiscretevalue(); parameterfielddefinitions crparameterfielddefinitions ; parameterfielddefinition crparameterfieldlocation ; parametervalues crparametervalues = new parametervalues(); crparameterfielddefinitions= reportdocument.datadefinition.parameterfields; // 1stparameter satrt crparameterfieldlocation= crparameterfielddefinitions["@userid"]; crparametervalues= crparameterfieldlocation.currentvalues; crparameterdiscretevalue= new crystaldecisions.shared.parameterdiscretevalue(); crparameterdiscretevalue.value=convert.toint64(viewstate["userid"]); crparametervalues.add(crparameterdiscretevalue); crparameterfieldlocation.applycurrentvalues(crparametervalues); //1st parameter end // 2nd parameter satrt crparameterfieldlocation= crparameterfielddefinitions["@reportname"]; crparametervalues= crparameterfieldlocation.currentvalues; crparameterdiscretevalue= new crystaldecisions.shared.parameterdiscretevalue(); crparameterdiscretevalue.value=reportname; crparametervalues.add(crparameterdiscretevalue); crparameterfieldlocation.applycurrentvalues(crparametervalues); //2nd parameter end // 3rd parameter satrt crparameterfieldlocation= crparameterfielddefinitions["@sessionid"]; crparametervalues= crparameterfieldlocation.currentvalues; crparameterdiscretevalue= new crystaldecisions.shared.parameterdiscretevalue(); crparameterdiscretevalue.value=session.sessionid.tostring(); crparametervalues.add(crparameterdiscretevalue); crparameterfieldlocation.applycurrentvalues(crparametervalues); //3rd parameter end crystalreportviewer1.reportsource = reportdocument; crystalreportviewer1.enabledatabaselogonprompt = false; connectioninfo connectioninfo = new connectioninfo(); connectioninfo.servername = "192.168.0.245"; connectioninfo.databasename = "databasename"; connectioninfo.userid = "sa"; connectioninfo.password = "password1"; tablelogoninfo tablelogoninfo = new tablelogoninfo(); tablelogoninfo.connectioninfo= connectioninfo; foreach (crystaldecisions.crystalreports.engine.table table in reportdocument.database.tables) { table.applylogoninfo(tablelogoninfo); }
it saying "failed open rowset.". when run store procedure manually exact parameter values showing results. store procedure returning values. please me out. during design of crystal report database server information different passing one.
rather giving ip in server name, create dsn in server system(if database own system, create dsn in same system) , give dsn name server name, , provide appropriate database details dsn.
it work, implemented , tested.
Comments
Post a Comment