FastReport使用交流,FastReport中国社区FastReport联系电话 联系电话:023-68661681

如何从Nuget存储库中快速使用连接器连接到数据库

来源:   发布时间:2018-08-02   浏览:284次

【下载FastReport.Net最新版本】

FastReport.Net长期以来一直在提供插件——连接各种数据库的连接器,这些插件允许用户向报表设计器添加连接器以连接到所需的数据库,创建这些插件连接器的目的是简化连接到数据源的过程。 但是,使用这些插件有一个不便之处——必须先编译它们。为此,用户必须首先从开发人员的数据库站点下载第三方库,但是,一旦编译完插件,就可以随意使用它。
FastReport现在通过Nuget包管理器以库的形式分发这些连接器,对于.Net Framework 4应用程序和ASP .Net Core都是如此,现在不需要使用第三方库来编译插件。 使用这些库的特性:要创建报表,需要使用设计器、插件、单独的Report Designer程序。但是,使用已安装的连接器库,用户需要从应用程序中调用设计器以在报表中使用这些连接器。 如果WinForms应用程序从代码中调用报表设计器,那么在.Net Core应用程序中就不可能实现,当然,还有用于Web开发报表的在线设计器。因此,必须首先创建一个WinForms应用程序,将所需的连接器安装到其中并调用报表设计器。或者可以使用FastReport附带的已编译的Designer.exe应用程序,但在这种情况下,受支持的DBMS列表将受到限制(支持MS SQL)。 现在通过一个例子来了解一下:创建一个测试WinForms应用程序并向其添加FastReport.Net库,并从manager Nuget安装连接器。
NugetControls
该图显示有数据库的连接器:MsSql,MySql,Postgres,SQLite,Json,MongoDB,RavenDB,尝试连接到Json数据源,从Nuget安装适当的连接器。在表单上,​​为它添加一个按钮和以下代码:
using FastReport;
using FastReport.Data;
using FastReport.Utils;
…
 private void button1_Click(object sender, EventArgs e)
 {
 new JsonAssemblyInitializer();
 Report report = new Report();
 report.Design();
 }
在按钮单击事件处理程序的第一行中,初始化添加的JSON连接器,然后创建一个报表对象并调用设计器。在设计器中,创建了一个新的数据连接。在可用的连接器中,看到了添加的JSON,选择它并使用.json扩展名设置数据文件的路径。
NugetControls
创建报表模板并保存,现在,在按钮的代码中,替换该行:
report.Design();
改为:
report.Load(@"TestJsonConnection.frx");
report.Show();
在这里,指定之前创建的报表文件的路径,运行报表。使用两个库连接器——从Nuget安装库,并在代码中初始化它。但是,如果它来自ASP .Net Core应用程序,并非如此简单。
首先,创建一份报表。为此,需要从代码中运行设计器,在Web项目中,这是不可能实现。将创建一个WinForms应用程序,专门用于运行设计器,将插件安装在单独的ReportDesigner中并在其中创建报表。其次,除了初始化连接器库之外,还需要指定连接字符串,创建表以及添加与报表的连接:
 JsonDataConnection conn = new JsonDataConnection();
 conn.ConnectionString = "Json=\"K:\\Documents\\nwind.json\"";
 conn.CreateAllTables();
 report.Dictionary.Connections.Add(conn);
通过操作,这与使用第三方库连接数据库,因此,在.Net Core的情况下,并非所有内容都是如此明确。但在.Net Framework 4应用程序中,优于第三方库的优势显而易见。
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [http://www.fastreportcn.com/]
本文地址:http://www.fastreportcn.com/post/2194.html

联系我们
  • 重庆总部 023-68661681 400-700-1020
  • 北京公司 010-56705895
购买
  • sales@evget.com
合作
  • business@evget.com