dreamqwj 发表于 2022-5-20 09:27:21

如何动态设置数据库连接

用设计器设计看板的时候,数据库连接信息是被写死在报表文件里的。我想咨询一下,用c#winform来显示报表,数据库连接信息可不可以在外部赋值?
如果可以的话,如何实现
谢谢!

James.Lv 发表于 2022-5-20 09:27:22

dreamqwj 发表于 2022-5-27 11:20
你好!
看了一下你提供的连接,
通过代码,给报表传递参数,是可以实现的。


您好,可以参考附件的示例,附件的示例是修改的报表文件内部的json数据源的,同样可以应用于修改数据源的数据库连接信息

James.Lv 发表于 2022-5-20 14:45:31

您好,您这个需求有两种实现方式,一种是动态数据绑定,也就是报表里面不直接连数据,只是定义字段结构,然后设计报表,在报表实际运行的时候后台代码动态给数据集赋值,可以参考教程:https://help.grapecity.com.cn/pages/viewpage.action?pageId=5968575
另外一种方式呢,就是我们的报表设计之后实际保存下来的是一个xml格式的文本(***.rdlx),那你可以修改报表文件里面的内容,将报表文件中数据库连接信息给改掉



dreamqwj 发表于 2022-5-26 17:37:31

James.Lv 发表于 2022-5-20 14:45
您好,您这个需求有两种实现方式,一种是动态数据绑定,也就是报表里面不直接连数据,只是定义字段结构,然 ...

你好,谢谢你的回复!
第一种方法的话,把查询好的数据,放到DataSource中去
第二种方法的话,连接信息设定在Rdlx文件中
这样的理解对吗?
想要实时查询数据,第一种方法不太好
exe文件编译后,rdlx文件肯定会被输出到指定文件夹,这样的话,数据连接信息会被暴露,第二种方法也不安全

有没有一种方法,绑定DataSource,不对这个DataSource赋实际的内容,只是设定数据库连接方式,然后和报表绑定,这样既可以实时查询,有能有效的保护数据库的连接方式。
跪谢大佬!

Bella.Yuan 发表于 2022-5-26 18:16:53

dreamqwj 发表于 2022-5-26 17:37
你好,谢谢你的回复!
第一种方法的话,把查询好的数据,放到DataSource中去
第二种方法的话,连接信息 ...

您好,您可以参考一下这个帖子,使用报表模板,然后在程序中用代码修改数据源连接信息。
AR15 数据库安全问题
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=99288&fromuid=65049
(出处: 葡萄城产品技术社区)

dreamqwj 发表于 2022-5-27 11:20:09

你好!
看了一下你提供的连接,
通过代码,给报表传递参数,是可以实现的。
但是,如何通过代码,给报表设置数据库连接信息,在帖子中没有看到。

请大神再提示一下,谢谢!
页: [1]
查看完整版本: 如何动态设置数据库连接