如何从.Net Core中的报告连接到MS SQL

    与.Net开发人员一起工作的最常见的DBMS之一是MS SQL Server。在本文中,将介绍在.Net Core应用程序中使用FastReport.Net以及与MS SQL数据源的连接的方法。
首先,需要在报表设计器中创建一个与MS SQL连接的报表,该报表设计器随FastReport.Net一起提供。
然后,在.Net Core项目中,需要添加FastReport库。可以在Nuget包管理器中执行此操作。需要连接以下包:
FastReport.Core - 适用于.Net Core平台的报告生成器库;
FastReport.Data.MsSql - 连接数据库MS SQL;

FastReport.Web - 允许您在浏览器中显示报告的Web报告对象。

如何从.Net Core中的报告连接到MS SQL_第1张图片

然后转到使用报告的控制器。在示例中,这是HomeController。必须添加对以下命名空间的引用:

using FastReport.Web;
using FastReport.Data;
using FastReport.Utils;
并添加代码以使用所需方法创建和加载报表。如果这是索引:
public IActionResult Index()
 {
 RegisteredObjects.AddConnection(typeof(MsSqlDataConnection));
 WebReport webReport = new WebReport();
 
 MsSqlDataConnection sqlConnection = new MsSqlDataConnection();
 sqlConnection.ConnectionString = "Data Source = localhost; AttachDbFilename =; Initial Catalog = testdb; Integrated Security = True; Persist Security Info = False; User ID =; Password = ";
 sqlConnection.CreateAllTables();
 webReport.Report.Dictionary.Connections.Add(sqlConnection);
 webReport.Report.Load($@"Reports/CoreMSSQL.frx");
 
 ViewBag.WebReport = webReport;
 return View();
 }
在第一行中,初始化与MsSqlDataConnection数据库的连接。然后创建一个Web报表对象。得到一个MsSqlDataConnection对象的实例,并将连接字符串设置为其中的数据库。之后给出命令 - 构建所有表。并添加与报告的连接。仅将报告模板加载到Web报告对象并将其传输到视图中。

如果报告有变量,那么可以通过以下方式传递应用程序的值:

String value = "Products!";
 webReport.Report.SetParameterValue("Param", value);

在Index.chtml视图中(取决于控制器),添加一行:

@await ViewBag.WebReport.Render();
这将显示Web Report对象。

应用程序几乎准备就绪,只需要在Configure方法中向Startup.cs文件添加一行代码:

app.UseFastReport();

现在可以运行该应用程序并检查我们的报告操作:

如何从.Net Core中的报告连接到MS SQL_第2张图片

如上图所示,从Nuget安装的连接器的使用极为广泛。刚刚初始化了与数据库的连接。如果不使用MsSqlConnection,必须创建一个连接,一个DataAdapter,一个DataSet并在报告中注册数据源。

下载FastReport.Net最新版本

本文翻译: How to connect to MS SQL from reports in .Net Core


你可能感兴趣的:(产品)