这个问题解决了,可是我又遇上一个问题:把CrystalReportViewer绑定到默认的rpt,显示现在没问题了,但是自已建一个rpt,在编辑器上可以看到各字段的值,但把它绑定到CrystalReportViewer在浏览器上看却提示:为什么呢?还请各位老大帮一下忙。
LogOnException: 登录失败。]
   .K(String 
, EngineExceptionErrorID  ) +546
   .F(Int16 , Int32 ) +491
   CrystalDecisions.CrystalReports.Engine.FormatEngine.GetPage(PageRequestContext reqContext) +459
   CrystalDecisions.ReportSource.LocalReportSourceBase.GetPage(PageRequestContext pageReqContext) +189
   CrystalDecisions.Web.ReportAgent.v(Boolean `) +150
   CrystalDecisions.Web.CrystalReportViewer.OnPreRender(EventArgs e) +108
   System.Web.UI.Control.PreRenderRecursiveInternal() +62
   System.Web.UI.Control.PreRenderRecursiveInternal() +125
   System.Web.UI.Control.PreRenderRecursiveInternal() +125
   System.Web.UI.Page.ProcessRequestMain() +1470

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1356/1356754.xml?temp=.4182855
      

  2.   

    斑竹,我是用标准报表的向导生成的,有输过用户名和密码,且在报表设计器可以看到相关的数据,但把它绑定CrystalReportViewer却出现以上的错误,为什么呢?请赐教!
      

  3.   

    在报表查询、显示数据时,需要连接数据库,因此需要输入密码。
       在报表新建生成时输入的用户名和密码,是建立当前查询连接数据库的密码,但用户名和密码并不会保存在你的rpt文件中(可以选择将当前查询的数据与报表一起保存),以便报表在查询引擎中的预览和排版。在web上运行时,需要重新登陆连接数据库的验证信息Report2 tmprpt=new Report2()  ;  //申明一个报表的实例 ,Report2.rpt 利用crystal report 生成 

    TableLogOnInfo logOnInfo = new TableLogOnInfo ();
    int i = 0;
     
    // 对报表中的每个表依次循环。
    for (i=0;i == tmprpt.Database.Tables.Count - 1;i++)
    {
    // 设置当前表的连接信息。
    logOnInfo.ConnectionInfo.ServerName = "127.0.0.0";
    logOnInfo.ConnectionInfo.DatabaseName = "temp";
    logOnInfo.ConnectionInfo.UserID = "anna";
    logOnInfo.ConnectionInfo.Password = "anna";
    tmprpt.Database.Tables [i].ApplyLogOnInfo (logOnInfo);
    }     
    CrystalReportViewer1.ReportSource=tmprpt; // CrystalReportViewer 设定 source就可以咯
      

  4.   

    你的数据库需要密码时,请用anna_aiya(哎呀) 的办法!!!