2011-05-11 57 views
1

我使用一個代碼到ConnectionInfo發送到CrystalReportViewer的CrystalReportViewer在Windows應用程序

private void button1_Click(object sender, EventArgs e) 
    { 
     ConnectionInfo myConnectionInfo = new ConnectionInfo(); 
     myConnectionInfo.ServerName = "192.168.3.58"; 
     myConnectionInfo.DatabaseName = "SHRK-Traffic"; 
     myConnectionInfo.UserID = "sa"; 
     myConnectionInfo.Password = "pass"; 
     setDBLOGONforREPORT(myConnectionInfo); 
     crystalReportViewer1.Visible = true; 
    } 
    private void setDBLOGONforREPORT(ConnectionInfo myconnectioninfo) 
    { 
     TableLogOnInfos mytableloginfos = new TableLogOnInfos(); 
     mytableloginfos = crystalReportViewer1.LogOnInfo; 
     foreach (TableLogOnInfo myTableLogOnInfo in mytableloginfos) 
     { 
      myTableLogOnInfo.ConnectionInfo = myconnectioninfo; 
     } 
    } 

我與這個代碼的網絡應用程序,它的工作fine..but在Windows應用程序它表明錯誤

error http://i54.tinypic.com/104kymv.jpg

我得到一個錯誤

+0

我做到了用花葯方式 瓦爾objReport = new Val(); objReport.SetDatabaseLogon(「sa」,「Pass」,「192.168.3.58」,「SHRK-Traffic」); crystalReportViewer1.ReportSource = objReport; 其中「val」是報告名稱 – Ramah 2011-05-11 13:01:34

回答

1

你需要創建一個TableLogOnInfo對象,然後設置它的ConnectionInfo對象到正確的信息,即:

 TableLogOnInfo loginDetails = new TableLogOnInfo(); 

     loginDetails.ConnectionInfo.ServerName = "ALFA1\\ACMSDB"; 
     loginDetails.ConnectionInfo.UserID = "***"; 
     loginDetails.ConnectionInfo.Password = "***"; 
     loginDetails.ConnectionInfo.DatabaseName = "database"; 
     loginDetails.ConnectionInfo.IntegratedSecurity = false; 

然後繼續前進,並且配置TableLogOnInfo對象添加到您的LogOnInfo集合:

  crystalReportViewer1.LogOnInfo.Add(loginDetails);