找回密码
 立即注册

QQ登录

只需一步,快速开始

wu8829
中级会员   /  发表于:2022-12-8 20:53:30
21#
wengMQ 发表于 2022-12-8 19:48
【新提醒】报表保存到数据库nvarchar(max)与读取 - ActiveReports专区 - 专题教程 - 葡萄城产品技术社区  h ...

非常好! 棒棒哒! 假如nvarchar(max)中存放的是报表文件的远程路径,例如:https://www.163.com/hello.rdlx,又如何加载呢?
回复 使用道具 举报
wengMQ悬赏达人认证
银牌会员   /  发表于:2022-12-8 21:14:46
22#
需求是永无止境的,够用就好
回复 使用道具 举报
wu8829
中级会员   /  发表于:2022-12-8 21:16:09
23#
我今天试图用ChatGPT来解决这个问题,也就那样,最终失败而告终。
回复 使用道具 举报
wu8829
中级会员   /  发表于:2022-12-8 21:54:41
24#
wengMQ 发表于 2022-12-8 21:14
需求是永无止境的,够用就好

但学习是无止境的呀,向您请教、学习,恳请您给出解决方案!
回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2022-12-9 16:21:38
25#
wu8829 发表于 2022-12-8 20:53
非常好! 棒棒哒! 假如nvarchar(max)中存放的是报表文件的远程路径,例如:https://www.163.com/hello.r ...

这个应该只是中间多一步,上面那个老师回复是数据库直接存放的是报表模板的内容,您这个存的是URL地址;
所以在中间加一步HTTP的GET或者POST请求,将您从数据库读出的URL地址,获取到报表的具体xml内容;
最后用之后的加载报表应该就可以
回复 使用道具 举报
wu8829
中级会员   /  发表于:2022-12-9 16:43:48
26#
James.Lv 发表于 2022-12-9 16:21
这个应该只是中间多一步,上面那个老师回复是数据库直接存放的是报表模板的内容,您这个存的是URL地址;
...

谢谢,麻烦给出实现代码,我是小白兔
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2022-12-9 17:00:07
27#
wu8829 发表于 2022-12-9 16:43
谢谢,麻烦给出实现代码,我是小白兔

可以试一下这个:
  1. public object GetReport(string reportName)
  2.         {
  3.             try
  4.             {
  5.                 String URL = "http://192.168.222.1:8080/"+ reportName;
  6.                 String Info;
  7.                 HttpWebRequest wbRequest = (HttpWebRequest)WebRequest.Create(URL);
  8.                 wbRequest.Proxy = null;
  9.                 wbRequest.Method = "GET";
  10.                 wbRequest.ContentType = "application/xml; charset=UTF-8";
  11.                 MemoryStream ms_pub = new MemoryStream();

  12.                 HttpWebResponse wbResponse = (HttpWebResponse)wbRequest.GetResponse();
  13.                 using (Stream responseStream = wbResponse.GetResponseStream())
  14.                 {
  15.                     using (StreamReader sReader = new StreamReader(responseStream, Encoding.UTF8))
  16.                     {
  17.                         byte[] byte_pub = System.Text.Encoding.UTF8.GetBytes(sReader.ReadToEnd());
  18.                         ms_pub.Write(byte_pub, 0, byte_pub.Length);
  19.                         ms_pub.Seek(0, SeekOrigin.Begin);
  20.                     }
  21.                 }
  22.                 using (TextReader StreamTxtRead = new StreamReader(ms_pub))
  23.                 {
  24.                     PageReport ViewPgReport = new PageReport(StreamTxtRead);
  25.                     return ViewPgReport.Report;
  26.                 }
  27.             }
  28.             catch (Exception e)
  29.             {
  30.                 throw e;
  31.             }
  32.             return 0;
  33.         }
复制代码
在结合温大佬的,URL从数据库获取即可。
我这个是web端的,所以最后是return的ViewPgReport.Report;
咱们的直接reportLoad即可。结合一下这个和温大佬的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
wu8829
中级会员   /  发表于:2022-12-9 22:25:24
28#
Felix.Li 发表于 2022-12-9 17:00
可以试一下这个:
在结合温大佬的,URL从数据库获取即可。
我这个是web端的,所以最后是return的ViewPgR ...

非常棒!
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2022-12-12 09:57:34
29#
回复 使用道具 举报
123
您需要登录后才可以回帖 登录 | 立即注册
返回顶部