如何從.Net Core中的報表連接到MS SQL
【下載FastReport.Net最新版本】
.Net開發(fā)最常見DBMS之一是MS SQL Server,在本文中,我們將介紹在.Net Core應(yīng)用程序中使用FastReport.Net
報表以及與MS SQL數(shù)據(jù)源的連接的方法。 首先,在報表設(shè)計器中創(chuàng)建一個與MS SQL連接的報表,該報表設(shè)計器隨FastReport.Net一起提供。然后,在.Net Core項目中,添加FastReport庫,在Nuget包管理器中執(zhí)行此操作,連接以下包:
- FastReport.Core——適用于.Net Core平臺的報表生成器庫;
- FastReport.Data.MsSql——連接數(shù)據(jù)庫MS SQL;
- FastReport.Web——允許用戶在瀏覽器中顯示報表的Web報表對象。
轉(zhuǎn)到將使用報表的控制器,在示例中,這是HomeController,必須添加對以下命名空間的引用:
using FastReport.Web; using FastReport.Data; using FastReport.Utils;
并添加代碼以使用所需方法創(chuàng)建和加載報表,這是Index:
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數(shù)據(jù)庫的連接,然后創(chuàng)建一個Web報表對象,得到一個MsSqlDataConnection對象的實例,并將連接字符串設(shè)置為其中的數(shù)據(jù)庫。之后給出命令——構(gòu)建所有表,并添加與報表的連接,僅將報表模板加載到Web報表對象并將其傳輸?shù)揭晥D中。如果報表有變量,那么可以通過以下方式傳遞應(yīng)用程序的值:
String value = "Products!"; webReport.Report.SetParameterValue("Param", value);
在Index.chtml視圖中(取決于控制器),添加一行代碼:
@await ViewBag.WebReport.Render();
顯示W(wǎng)eb Report對象。應(yīng)用程序準(zhǔn)備就緒,需要在Configure方法中向Startup.cs文件添加一行代碼:
app.UseFastReport();
可以運(yùn)行該應(yīng)用程序并檢查報表操作:
正如上圖所示,從Nuget安裝的連接器的使用十分方便,剛剛初始化了與數(shù)據(jù)庫的連接,如果不使用MsSqlConnection,必須創(chuàng)建一個連接,一個DataAdapter,一個DataSet并在報表中注冊數(shù)據(jù)源。