我是C#的新手,我开发了一些小代码来运行我的Crystal报告,但它挂起了机器,我正在使用VS 2010,访问2007和Crystal报表10和Crystl32.OCX。
我的代码是:
private void Form12_Load(object sender, EventArgs e)
{
ConnectionInfo crConnectionInfo = new ConnectionInfo();
crConnectionInfo.DatabaseName = Application.ExecutablePath + "\\Pharma.accdb";
crConnectionInfo.UserID = "";
crConnectionInfo.Password = "";
cr1.LogOnInfo.Equals(crConnectionInfo); //("sa", "password", @"MS Access Database", "pharma");
ReportDocument reportDocument = new ReportDocument();
ParameterFields paramFields = new ParameterFields();
ParameterField paramField = new ParameterField();
ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();
paramField.Name = "CName";
paramDiscreteValue.Value = "AHmed";
paramField.CurrentValues.Add(paramDiscreteValue);
paramFields.Add(paramField);
this.cr1.RefreshReport();
this.cr1.Show();
}
答案 0 :(得分:0)
不确定这是否是唯一的问题,但这一行不正确:
cr1.LogOnInfo.Equals(crConnectionInfo);
你在这里比较平等......
我宁愿尝试:
cr1.LogOnInfo.ConnectionInfo = crConnectionInfo;
尝试在LogOnInfo对象上分配/设置ConnectionInfo。