2012-09-20 57 views
0

我在C#中很新,我開發小代碼來運行我的Crystal報表,但它掛起了機器,我使用VS 2010訪問2007年和Crystal報表10和Crystl32.OCX。爲什麼我的代碼無法在C#中正確運行CristalReport?

我的代碼是:

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

不知道這是唯一的問題,但該行不能是正確的:

cr1.LogOnInfo.Equals(crConnectionInfo); 

您在這裏比較平等...

我寧願嘗試:

cr1.LogOnInfo.ConnectionInfo = crConnectionInfo; 

,它試圖在LogOnInfo對象上分配/設置ConnectionInfo。

相關問題