为什么我的代码无法在C#中正确运行CristalReport?

时间:2012-09-20 09:25:06

标签: crystal-reports

我是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();
    }

1 个答案:

答案 0 :(得分:0)

不确定这是否是唯一的问题,但这一行不正确:

cr1.LogOnInfo.Equals(crConnectionInfo); 

你在这里比较平等......

我宁愿尝试:

cr1.LogOnInfo.ConnectionInfo = crConnectionInfo;

尝试在LogOnInfo对象上分配/设置ConnectionInfo。