2014-04-09 97 views
0

我的錯誤就像無效的報告文件雖然Crystal報告正在加載文件....報告文件路徑無效。在水晶報告中雖然

OrderWindow objRpt; objRpt = new OrderWindow(); 嘗試 string str = ConfigurationManager.ConnectionStrings [「ConnData」]。ConnectionString.ToString(); SqlConnection con = new SqlConnection(str); OrderDelivery Od = new OrderDelivery(); Od.Activate(); DataSet ds = Od.GetProductDetails(); objRpt.SetDataSource(ds);

  ReportDocument rd = new ReportDocument(); 
      ConnectionInfo info = new ConnectionInfo(); 
      info.DatabaseName = "BillingAndAccounts"; 
      info.UserID = "sa"; 
      info.Password = "sai123"; 
      SetDBLogonForReport(info, rd); 
      rd.Refresh();//Here am Getting Error... 

      rd.VerifyDatabase(); 


      crystalReportViewer1.ReportSource = objRpt; 

回答

0

錯誤顯示,沒有得到水晶報告文件的路徑。 一般好的編碼是設置在您的工作目錄中的一個文件夾中所有的水晶報表,只是創建web.config中存取路徑一樣

<add key="CrystalReportFilePath" value="\Reports"/> 

條目,每當你訪問或使用的文件,只是追加上述與文件名(同在web.config中的連接字符串)就像

var ReportName = ConfigurationManager.AppSettings["CrystalReportFilePath"] 

此代碼路徑絕不會放棄上述錯誤並代碼將進行維護。

0

的問題是,水晶報表運行時繼續尋找在C報告文件:驅動器,即使該驅動器不存在,而且,它正在尋找在正確的報告日誌文件報告盤符。

要解決此問題,您需要將C:驅動器的驅動器映射爲指向您的實際驅動器。

如果您不知道計算機的機器名稱,請右鍵單擊我的電腦圖標,然後轉到屬性,然後轉到計算機名稱選項卡。在完整的計算機名稱:行中,我們需要一切。例如,如果它說jason.wasp.com,我們只需要知道「傑森」。同樣對於這個例子,我們將使用I:作爲現有的驅動器。

要映射驅動器,打開我的電腦圖標,然後在工具菜單中選擇映射網絡驅動器。對於雲端硬盤,請選擇C :.如果您沒有看到C:作爲可用選項,則該信可能已分配給計算機管理的磁盤管理組件中的可移動驅動器。將該驅動器更改爲另一封信;那麼C:將可用於映射。