水晶报表动态连接数据库

来源:互联网 发布:淘宝用流量精灵 编辑:程序博客网 时间:2024/05/01 11:44

public bool ApplyLogOn(CrystalDecisions.CrystalReports.Engine.ReportDocument repdoc)
    {
        try
        {
            repdoc.SetDatabaseLogon(ConInfo.UserID, ConInfo.Password, ConInfo.ServerName, ConInfo.DatabaseName, true);
            //repdoc.VerifyDatabase();
            CrystalDecisions.Shared.TableLogOnInfo logOnInfo = new CrystalDecisions.Shared.TableLogOnInfo();
            logOnInfo.ConnectionInfo.ServerName = ConInfo.ServerName;
            logOnInfo.ConnectionInfo.DatabaseName = ConInfo.DatabaseName;
            logOnInfo.ConnectionInfo.UserID = ConInfo.UserID;
            logOnInfo.ConnectionInfo.Password = ConInfo.Password;
            foreach (CrystalDecisions.CrystalReports.Engine.Table tb in repdoc.Database.Tables)
            {
                tb.ApplyLogOnInfo(logOnInfo);
            }
            repdoc.VerifyDatabase();
        }
        catch
        {
            return false;
        }
        return true;
    }

代码就不用详细解释了,大家都应该可以看明白。网上很多帖子都不能很好的解决问题,而且很多都是不正确的,相信这段代码能给大家提供一个思路。