Asp.net crystal报告提供数据库登录失败或请求凭据

Asp.net crystal报告提供数据库登录失败或请求凭据,asp.net,visual-studio,sql-server-2008,c#-4.0,crystal-reports,Asp.net,Visual Studio,Sql Server 2008,C# 4.0,Crystal Reports,我几乎已经尽了我所能。我在ASP.net中有一个带有c#的web应用程序。我从数据库表中获取数据并将其添加到数据集。然后我将此数据集设置为报表的源。我的代码如下 con.ConnectionString = ConfigurationManager.ConnectionStrings["familyConnectionString"].ConnectionString; SqlDataAdapter sda = new SqlDataAdapter("select ui

我几乎已经尽了我所能。我在ASP.net中有一个带有c#的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();
我使用的是集成安全性,所以我将用户名和密码留空。请帮忙


请注意,上面的代码是在下拉菜单\u selectedIndexChanged()事件中编写的。我尝试将其添加到页面加载中,但没有成功。

如果您不担心身份验证,请这样做。创建crystal report的实例并设置其数据源。这就是您所需要做的一切,它可以正常工作。 *确保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;

出生证明报告myreport=新出生证明报告()

在这一行中,您提到了出生证明报告是crystal report。我的crystal report名称是applicationreport,但它显示了一个错误

将myreport设置为新应用程序报告


错误是类型未定义

谢谢你,我花了一整天的时间在上面,你帮了我。你能解释一下为什么它不能与ReportDocument一起使用吗?使用report document时,你必须在页面加载中执行一些额外的步骤来抑制登录信息。请看这里的一篇优秀文章