tripower
July 6th, 2006, 09:03 AM
C#, Webform, .NET 03, Crystal .NET Viewer
I have used this same code countless times before on a WinForm in .NET and it works just fine but when I try to port it over to a WebForm, nothing not even an error. It just doesn't seem to pass over the parameters and run the report. Basically I have this code sitting in a button where i pass in the ReportName. I am also using Oracle 9i as my backend. Any help is appreciated, thanks.
//CrystalViewer webform
CrystalDecisions.Shared.TableLogOnInfos crTableLogonInfos=new CrystalDecisions.Shared.TableLogOnInfos();
CrystalDecisions.Shared.TableLogOnInfo crTableLogonInfo=new CrystalDecisions.Shared.TableLogOnInfo();
CrystalDecisions.Shared.ConnectionInfo crConnectionInfo=new CrystalDecisions.Shared.ConnectionInfo();
CrystalDecisions.CrystalReports.Engine.ReportDocument myreportdocument=new CrystalDecisions.CrystalReports.Engine.ReportDocument();
// Assign logon information
// Using Oracle
crConnectionInfo.UserID = "myuser";
crConnectionInfo.Password = "mypass";
crConnectionInfo.DatabaseName = "MyDB";
// Create logon information for each table accessed
crTableLogonInfo.ConnectionInfo = crConnectionInfo;
crTableLogonInfo.ReportName =ReportName;
crTableLogonInfo.TableName ="Command";
//
myreportdocument.Load(ReportName);
CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinitions crParameterFieldDefinitions=null;
CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition crParameterFieldDefinition=null;
CrystalDecisions.Shared.ParameterValues crParameterValues=new CrystalDecisions.Shared.ParameterValues();
CrystalDecisions.Shared.ParameterDiscreteValue crParameterDiscreteValue=new CrystalDecisions.Shared.ParameterDiscreteValue();
//Get the collection of parameters from the report
crParameterFieldDefinitions = myreportdocument.DataDefinition.ParameterFields;
// 0-------First Parameter Value----(blah)------------------
crParameterFieldDefinition = crParameterFieldDefinitions[0];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterDiscreteValue = new CrystalDecisions.Shared.ParameterDiscreteValue();
crParameterDiscreteValue.Value = "9999"; //Assign Parameter Here
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
// 1-------Second Parameter Value---(blee)----------
crParameterFieldDefinition = crParameterFieldDefinitions[1];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterDiscreteValue = new CrystalDecisions.Shared.ParameterDiscreteValue();
crParameterDiscreteValue.Value = "9998"; //Assign Parameter Here
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
myreportdocument.Database.Tables[0].ApplyLogOnInfo(crTableLogonInfo);
//this always returns false
bool is_connected=myreportdocument.Database.Tables[0].TestConnectivity();
this.crystalViewer.ReportSource = myreportdocument;
this.crystalViewer.DataBind();
I have used this same code countless times before on a WinForm in .NET and it works just fine but when I try to port it over to a WebForm, nothing not even an error. It just doesn't seem to pass over the parameters and run the report. Basically I have this code sitting in a button where i pass in the ReportName. I am also using Oracle 9i as my backend. Any help is appreciated, thanks.
//CrystalViewer webform
CrystalDecisions.Shared.TableLogOnInfos crTableLogonInfos=new CrystalDecisions.Shared.TableLogOnInfos();
CrystalDecisions.Shared.TableLogOnInfo crTableLogonInfo=new CrystalDecisions.Shared.TableLogOnInfo();
CrystalDecisions.Shared.ConnectionInfo crConnectionInfo=new CrystalDecisions.Shared.ConnectionInfo();
CrystalDecisions.CrystalReports.Engine.ReportDocument myreportdocument=new CrystalDecisions.CrystalReports.Engine.ReportDocument();
// Assign logon information
// Using Oracle
crConnectionInfo.UserID = "myuser";
crConnectionInfo.Password = "mypass";
crConnectionInfo.DatabaseName = "MyDB";
// Create logon information for each table accessed
crTableLogonInfo.ConnectionInfo = crConnectionInfo;
crTableLogonInfo.ReportName =ReportName;
crTableLogonInfo.TableName ="Command";
//
myreportdocument.Load(ReportName);
CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinitions crParameterFieldDefinitions=null;
CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition crParameterFieldDefinition=null;
CrystalDecisions.Shared.ParameterValues crParameterValues=new CrystalDecisions.Shared.ParameterValues();
CrystalDecisions.Shared.ParameterDiscreteValue crParameterDiscreteValue=new CrystalDecisions.Shared.ParameterDiscreteValue();
//Get the collection of parameters from the report
crParameterFieldDefinitions = myreportdocument.DataDefinition.ParameterFields;
// 0-------First Parameter Value----(blah)------------------
crParameterFieldDefinition = crParameterFieldDefinitions[0];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterDiscreteValue = new CrystalDecisions.Shared.ParameterDiscreteValue();
crParameterDiscreteValue.Value = "9999"; //Assign Parameter Here
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
// 1-------Second Parameter Value---(blee)----------
crParameterFieldDefinition = crParameterFieldDefinitions[1];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterDiscreteValue = new CrystalDecisions.Shared.ParameterDiscreteValue();
crParameterDiscreteValue.Value = "9998"; //Assign Parameter Here
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
myreportdocument.Database.Tables[0].ApplyLogOnInfo(crTableLogonInfo);
//this always returns false
bool is_connected=myreportdocument.Database.Tables[0].TestConnectivity();
this.crystalViewer.ReportSource = myreportdocument;
this.crystalViewer.DataBind();