水晶报告数据库登录提示时使用c#和ms-access和数据集
本文关键字:ms-access 数据集 报告 数据库 登录 提示 水晶 | 更新日期: 2023-09-27 18:06:24
我使用水晶报告并在我的windowsform应用程序中绑定数据集。我的数据集正在从一个ms-access数据库获取数据,它的查询工作很酷。我没有为我的数据库或数据集或任何其他东西设置任何登录信息,当报告正在加载时,它仍然要求登录。在登录页面的服务器名称是我的数据集的名称,所有其他字段都是空的。Ms-access 2016 - visual studio 2015 - crystal report 13.0.14
我的代码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
试试下面的例子,一定要设置你的数据源。
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;
}
}
}
}
}
我有一段时间没有处理水晶报告,但我很确定你必须在WinForm中单击水晶报告查看器对象并将属性更改为无需登录。此外,当引用文件路径时,请使用以下约定:@"C:'directory'word.txt" for your cryRpt.Load(@"D:'c#'AttendanceApp'AttendanceApp'CrystalReport_Work.rpt")。