用水晶报表的子报表功能,为什么每次显示报表要我输入数据库密码

解决方案 »

  1.   

    水晶报表对象.SetDataSource(数据源)
      

  2.   

    修改成推的方式就不需要密码,
    这讲得很多了,
    http://community.csdn.net/Expert/TopicView3.asp?id=4237744
      

  3.   

    給你個例子源碼﹕
    CrystalReport1 CP = new CrystalReport1();
    SqlAdp.Fill(dsMyDataSet,"ReportView");
    CP.SetDataSource(dsMyDataSet.Tables["ReportView"]);
    CrystalDecisions.Shared.TableLogOnInfo Log= new CrystalDecisions.Shared.TableLogOnInfo();
    try
    {
    foreach(CrystalDecisions.CrystalReports.Engine.Table tb in CP.Database.Tables)
    {
    Log = tb.LogOnInfo ;
    Log.ConnectionInfo.ServerName ="KD-02";
    Log.ConnectionInfo.UserID = "sa";
    Log.ConnectionInfo.Password ="sunhing";
    Log.ConnectionInfo.DatabaseName ="Test";
    tb.ApplyLogOnInfo(Log);
    }
    }
    catch(Exception E)
    {
    MessageBox.Show(E.Message);
    } crystalReportViewer1.ReportSource = CP;