我已经尝试几乎所有我可以。我用c#在ASP.net中创建了一个Web应用程序。我从数据库表中提取数据并将其添加到数据集中。然后我将此数据集设置为报告的来源。我的代码如下。水晶报告给数据库登录失败或要求凭据
con.ConnectionString = ConfigurationManager.ConnectionStrings["familyConnectionString"].ConnectionString;
SqlDataAdapter sda = new SqlDataAdapter("select uid, member_name, gender, dob from family where uid='"+uid+"'", con);
DataSet1 myds = new DataSet1();
sda.Fill(myds, "family");
SqlDataAdapter sda1 = new SqlDataAdapter("select id from birth_certificates where p_id='"+uid+"'", con);
sda1.Fill(myds, "birth_certificates");
ReportDocument rpt = new ReportDocument();
rpt.Load(Server.MapPath("birth_certi_report.rpt"));
rpt.Refresh();
rpt.SetDataSource(myds);
rpt.SetDatabaseLogon("","",@".\sqlexpress","project2");
CrystalReportViewer1.ReportSource = rpt;
CrystalReportViewer1.DataBind();
CrystalReportViewer1.Visible = true;
CrystalReportViewer1.RefreshReport();
我正在使用集成安全性,所以我将用户名和密码留空。请帮忙。
请注意,上面的代码是一个DropDown_selectedIndexChanged()事件中编写。我试图将其添加到page_load,但它不起作用。
谢谢你,我花了一整天它,你帮了我。 –
您能否友好地解释为什么它不适用于ReportDocument? –
使用报告文档时,您必须在页面加载中执行一些额外的步骤以禁止登录信息。请看这里的优秀帖子http://blackmarketserver.com/blog/2010/07/19/suppress-login-提示晶体的报告和-ASP-净 –