找回密码
 立即注册

QQ登录

只需一步,快速开始

cskg0001

初级会员

33

主题

72

帖子

219

积分

初级会员

积分
219

活字格认证微信认证勋章

cskg0001
初级会员   /  发表于:2014-6-24 10:46  /   查看:5287  /  回复:3
我现在碰到个问题,不知道怎么解决。(winform)
就是在编码的时候,都是在测试服务器上(数据库,服务器名称,数据库名称都不同),然后在页面报表中都是指定了(服务器,数据库等),这样的话,发布的时候还要改页面报表中的设置。
因为我系统里有定义的 测试用和正式版的数据连接。能不能直接把系统的当前数据连接在运行时传递给页面报表?

3 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2014-6-24 11:02:00
沙发
在开发报表过程中,有测试库和现场库2种数据库,数据不一样,但表结构是一致的。
可通过运行时替换ConnectString实现切换为现场库。
参考代码:

  1. private void buttonPage_Click(object sender, EventArgs e)
  2.         {
  3.             string strPath = GetOneReport(ARReportType.页面报表);
  4.             PageReport pobjReport = new PageReport(new System.IO.FileInfo(strPath));
  5.             PageDocument document = new GrapeCity.ActiveReports.Document.PageDocument(pobjReport);

  6.             pobjReport.Report.DataSources[0].DataSourceReference = "";
  7.             pobjReport.Report.DataSources[0].ConnectionProperties.DataProvider = "OLEDB";
  8.             pobjReport.Report.DataSources[0].ConnectionProperties.ConnectString = GetConnectionString();
  9.             viewer1.LoadDocument(document);
  10.         }
复制代码



更多参考资料,请浏览一下《ActiveResports 官方资源集合贴
回复 使用道具 举报
cskg0001
初级会员   /  发表于:2014-7-3 11:45:00
板凳
OK 已经解决
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-3 14:02:00
地板
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部