2016-09-10 8 views
0

我在我的windowsform應用程序中使用水晶報表並將數據集綁定到它。 我的數據集從ms訪問數據庫獲取數據,並且查詢運行的很好。 我沒有設置我的數據庫或數據集或任何其他東西的任何登錄信息,仍然在報告加載時要求登錄。 在登錄頁面中,服務器名稱是我的數據集的名稱,而其他所有字段都是空的。 MS-訪問2016 - 視覺工作室2015年 - 水晶報表13.0.14使用c#和ms-access和數據集時的水晶報表數據庫登錄提示

我的代碼

ReportDocument cryRpt = new ReportDocument(); 
      cryRpt.Load("D:/c#/AttendanceApp/AttendanceApp\\CrystalReport_Work.rpt"); 
      crystalReportViewer1.ReportSource = cryRpt; 
      crystalReportViewer1.Refresh(); 

我的查詢

SELECT  p.Personal_FingerId, p.Personal_Name, p.Personal_Family, w.Work_Date, Format(MIN(CDate(w.Work_Time)), 'hh:nn') AS Time_Start, Format(MAX(CDate(w.Work_Time)), 'hh:nn') AS Time_Finish 
FROM   (Table_Personal p INNER JOIN 
         Table_WorkUser w ON p.Personal_FingerId = w.Personal_FingerId) 
GROUP BY p.Personal_Name, p.Personal_Family, p.Personal_FingerId, w.Work_Date 
ORDER BY w.Work_Date 

回答

0

嘗試下面的例子,一定要設置你的數據源。

private void Form1_Load(object sender, EventArgs e) 
{ 
CustomerReport crystalReport = new CustomerReport(); 
Customers dsCustomers = GetData(); 
crystalReport.SetDataSource(dsCustomers); 
this.crystalReportViewer1.ReportSource = crystalReport; 
this.crystalReportViewer1.RefreshReport(); 
} 

private Customers GetData() 
{ 
string constr = @"Data Source=.\Sql2005;Initial Catalog=Northwind;Integrated Security = true"; 
using (SqlConnection con = new SqlConnection(constr)) 
{ 
    using (SqlCommand cmd = new SqlCommand("SELECT TOP 20 * FROM Customers")) 
    { 
     using (SqlDataAdapter sda = new SqlDataAdapter()) 
     { 
      cmd.Connection = con; 
      sda.SelectCommand = cmd; 
      using (Customers dsCustomers = new Customers()) 
      { 
       sda.Fill(dsCustomers, "DataTable1"); 
       return dsCustomers; 
      } 
     } 
    } 
} 

}

0

我還沒有在一段時間處理水晶報表,但我很確定您必須單擊WinForm中的Crystal Report Viewer對象,並將屬性更改爲不需要登錄。此外,在引用文件路徑時,請使用以下約定:@「C:\ directory \ word.txt」用於您的cryRpt.Load(@「D:\ c#\ AttendanceApp \ AttendanceApp \ CrystalReport_Work.rpt」)。

+0

沒有「沒有登錄」屬性或類似的水晶報表查看器的東西。並編輯路徑沒有幫助 –

+0

我發佈了一個示例供您使用。我在通行證中使用它,並且它工作。順便說一下,路徑並不是爲了幫助,而是爲了向您展示指定路徑的更好方式。 – zXSwordXz

相關問題