FastReport中国社区FastReport联系电话 联系电话:023-68661681

如何从应用程序代码创建到JSON数据库的连接

来源:   发布时间:2020-01-15   浏览:3767次

大多数报表显示一些数据。通常,此数据是从数据库获得的。因此,报表具有到数据源的连接,以便具有可用表和字段以及数据本身的列表。但是,如果在编写报表时,您只有一个本地数据库,并且您在报表中创建了到该数据库的连接。这样,报表将无法正常工作。我们需要有效的连接。解决这种情况的方法有两种:使用用户程序中的数据源,或替换报表中的连接线。

第一种方法是众所周知的。您需要在应用程序中创建连接,然后登录到报表。然后,在设计报表时,可以选择此别名来源。一方面,这很方便,因为更改连接器不会影响报表。无论报表从何处获取数据,只要表和字段名称、数据类型和模板中提供的数据类型相同即可。这种方法的缺点是没有用户应用程序就无法设计报表。毕竟,连接只是在其中。报表开发人员可能没有任何用户连接到该应用程序。在这种情况下,内部连接到报表中的数据将是适当的。

因此,让我们看一下如何轻松地使用内部连接替换现有报表的连接。当然,该连接必须位于同一数据库以及报表中。只需为其设置另一个位置。

对于此应用程序,您需要添加对库的引用:FastReport.dllFastReport.JsonDataConnection.dll。在目录FastReport.net中,有安装文件夹ExtrasConnectionsFastReport.Json。您需要组装项目。然后,您获得了必要的库。将它们添加到项目引用中。还有一个替代连接代码:

using FastReport;
using FastReport.Utils;
using FastReport.Data;
 private void Button1_Click(object sender, EventArgs e)
 {
 RegisteredObjects.AddConnection(typeof(JsonDataConnection));
 Report report = new Report();
 
 JsonDataConnection connection = new JsonDataConnection();
 connection.ConnectionString = "Json=../../App_Data/nwind.json";
 connection.CreateAllTables();
 report.Dictionary.Connections.Add(connection);
 report.RegisterData(connection.DataSet);
 report.Load("../../App_Data/json.frx");
 report.Prepare();
 report.Show();
 }

首先,我们将连接对象注册到Json数据库。接下来,创建一个报表对象的实例。创建JSON连接对象的副本。我们设置其ConnectionString属性——基本上只是指向文件的链接。在我们的例子中,文件位于项目的App_Data文件夹中。CreateAllTables函数从源中加载所有表。

接下来,我们需要将创建的连接添加到报表的连接集合中,并在报表中注册数据源。

现在,重要的是下载报表模板。如果在添加到报表连接的集合之前进行连接,则带有替换的技巧将不起作用。下载模板后,您需要准备一份报表到显示屏,然后显示它。

结果,我们建立了一个报表,该数据源最初是建立在另一条连接线上的。因此,我们可以替换任何记录中的连接字符串,而不必担心报表中指定路径上的数据库。

产品介绍 | 下载试用 | 优惠活动 | 在线客服

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/2656.html

相关产品: FastReport.Net,


联系我们
  • 重庆总部 023-68661681
购买
  • sales@evget.com
合作
  • business@evget.com


在线
客服
微信
QQ 电话
023-68661681
返回
顶部