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但它没有用。
答案 0 :(得分:1)
如果您不担心身份验证,请按照这种方式进行。创建Crystal报表的实例并设置其数据源。这就是您需要做的所有工作。 *确保水晶报告在您的解决方案范围内。
con.ConnectionString = ConfigurationManager.ConnectionStrings["familyConnectionString"].ConnectionString;
// the magic
birth_certi_report myreport = new birth_certi_report();
DataSet1 myds = new DataSet1();
SqlDataAdapter sda1 = new SqlDataAdapter("select id from birth_certificates where p_id='"+uid+"'", con);
sda1.Fill(myds, "birth_certificates");
myreport.SetDataSource(myds);
crystalReportViewer1.ReportSource = myreport;
答案 1 :(得分:0)
birth_certi_report myreport = new birth_certi_report();
在这一行你提到birth_certi_report是水晶报告。我的水晶报告名称是applicationreport,但它显示错误。
Dim myreport As New appilcationreport
错误是TYPE IS NOT NOFINED