我的开发环境是VS2005 。也不知道什么水晶报表是什么版本,反正是直接从VS2005 拖出来用的。我上网找过一个解决方法,代码如下。
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
protected void Page_Load(object sender, EventArgs e)
{
        TableLogOnInfo logOnInfo = new TableLogOnInfo();
        //这里必须事先申明一个ReportDocument对象  Report,同时加载数据报表  
        ReportDocument oRpt = new ReportDocument();
        //获取.rpt文件真实路径  
        string path1;
        path1 = Server.MapPath(@"~\\HRManage\\CCorporationCrystalReport.rpt");        oRpt.Load("c:\\inetpub\\wwwroot\\exer\\pagelet\\crystal\\cr1.rpt");  
        oRpt.Load(path1);        //从web.config中获取logOnInfo参数信息  
        string a, b, c, d;
        //获取ServerName  
        a = System.Configuration.ConfigurationSettings.AppSettings["servername"];
        //获取DatabaseName  
        b = System.Configuration.ConfigurationSettings.AppSettings["database"];
        //获取UserId  
        c = System.Configuration.ConfigurationSettings.AppSettings["userid"];
        //获取password  
        d = System.Configuration.ConfigurationSettings.AppSettings["pass"];
        //设置logOnInfo参数  
        logOnInfo.ConnectionInfo.ServerName = "myip";
        logOnInfo.ConnectionInfo.DatabaseName = "mydatabase";
        logOnInfo.ConnectionInfo.UserID = "sa";
        logOnInfo.ConnectionInfo.Password = "sa";        oRpt.Database.Tables[0].ApplyLogOnInfo(logOnInfo);       // 建立.rpt文件与CryStalReportviewer文件之间的连接  
        CrystalReportViewer1.ReportSource = oRpt;
        CrystalReportViewer1.DataBind();
}我的数据库是SQL2005 登陆方式是WINDOWS + SQLSERVER 身份验证的方式 。
用了以上代码以后,水晶报表的登陆界面仍然出现。在没有用这段代码的时候登陆界面是需要输入所有的信息后才能查看报表。
用了这段代码他只帮我在填登陆信息的时候,帮我填了个用户名,其他都没改动 。所以问题没有解决。。恳求大侠指点迷津。