C# CrystalDecisions.CrystalReports.Engine.Table.ApplyLogOnInfo对象引用未设置为对象实例
此代码有什么问题:C# CrystalDecisions.CrystalReports.Engine.Table.ApplyLogOnInfo对象引用未设置为对象实例,c#,crystal-reports,C#,Crystal Reports,此代码有什么问题: ReportDocument cryrpt = new ReportDocument(); TableLogOnInfos crtablelogoninfos = new TableLogOnInfos(); TableLogOnInfo crtablelogoninfo = new TableLogOnInfo(); ConnectionInfo crconnectioninfo = new Conne
ReportDocument cryrpt = new ReportDocument();
TableLogOnInfos crtablelogoninfos = new TableLogOnInfos();
TableLogOnInfo crtablelogoninfo = new TableLogOnInfo();
ConnectionInfo crconnectioninfo = new ConnectionInfo();
Tables CrTables;
cryrpt.Load("C:\\Documents and Settings\\Administrator\\Desktop\\minfatora11-7--\\minfatora\\minfatora\\Treasury_account_out_come.rpt");
crconnectioninfo.ServerName = "localhost";
crconnectioninfo.DatabaseName = "MNFATOR";
crconnectioninfo.UserID = "ICMADMIN";
crconnectioninfo.Password = "ICMADMIN";
CrTables = cryrpt.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
{
crtableLogoninfo = CrTable.LogOnInfo;
crtableLogoninfo.ConnectionInfo = crConnectionInfo;
CrTable.ApplyLogOnInfo(crtableLogoninfo);
}
cryrpt.RecordSelectionFormula = "select * from tblxxx where xxx=2";
cryrpt.Refresh();
allReportViewer.ReportSource = cryrpt;
我得到错误:“对象引用未设置为对象的实例。”
在线:
CrTable.ApplyLogOnInfo(crtableLogoninfo);
当您在此行中获取表格时,您的
CrTables
为null
CrTables = cryrpt.Database.Tables;
您能否解释一下原始代码不正确的原因,以及您的代码如何更正这些错误?请确保在Crystal报告文件中添加一个“公式字段”,并注意其中的字段名{tblxxx.fieldxxx}是字段名的正确格式。当做
cryrpt.RecordSelectionFormula = "{tblxxx.xxx}=2";