• <menu id="w2i4a"></menu>
  • logo Fastreport.Net 教程2018(完結(jié))

    文檔首頁(yè)>>Fastreport.Net 教程2018(完結(jié))>>【FastReport教程】如何從Nuget存儲(chǔ)庫(kù)中快速使用連接器連接到數(shù)據(jù)庫(kù)

    【FastReport教程】如何從Nuget存儲(chǔ)庫(kù)中快速使用連接器連接到數(shù)據(jù)庫(kù)


    【下載FastReport.Net最新版本】

    FastReport.Net長(zhǎng)期以來(lái)一直在提供插件——連接各種數(shù)據(jù)庫(kù)的連接器,這些插件允許用戶向報(bào)表設(shè)計(jì)器添加連接器以連接到所需的數(shù)據(jù)庫(kù),創(chuàng)建這些插件連接器的目的是簡(jiǎn)化連接到數(shù)據(jù)源的過(guò)程。 但是,使用這些插件有一個(gè)不便之處——必須先編譯它們。為此,用戶必須首先從開(kāi)發(fā)人員的數(shù)據(jù)庫(kù)站點(diǎn)下載第三方庫(kù),但是,一旦編譯完插件,就可以隨意使用它。

    FastReport現(xiàn)在通過(guò)Nuget包管理器以庫(kù)的形式分發(fā)這些連接器,對(duì)于.Net Framework 4應(yīng)用程序和ASP .Net Core都是如此,現(xiàn)在不需要使用第三方庫(kù)來(lái)編譯插件。 使用這些庫(kù)的特性:要?jiǎng)?chuàng)建報(bào)表,需要使用設(shè)計(jì)器、插件、單獨(dú)的Report Designer程序。但是,使用已安裝的連接器庫(kù),用戶需要從應(yīng)用程序中調(diào)用設(shè)計(jì)器以在報(bào)表中使用這些連接器。 如果WinForms應(yīng)用程序從代碼中調(diào)用報(bào)表設(shè)計(jì)器,那么在.Net Core應(yīng)用程序中就不可能實(shí)現(xiàn),當(dāng)然,還有用于Web開(kāi)發(fā)報(bào)表的在線設(shè)計(jì)器。因此,必須首先創(chuàng)建一個(gè)WinForms應(yīng)用程序,將所需的連接器安裝到其中并調(diào)用報(bào)表設(shè)計(jì)器?;蛘呖梢允褂肍astReport附帶的已編譯的Designer.exe應(yīng)用程序,但在這種情況下,受支持的DBMS列表將受到限制(支持MS SQL)。 現(xiàn)在通過(guò)一個(gè)例子來(lái)了解一下:創(chuàng)建一個(gè)測(cè)試WinForms應(yīng)用程序并向其添加FastReport.Net庫(kù),并從manager Nuget安裝連接器。

    NugetControls

    該圖顯示有數(shù)據(jù)庫(kù)的連接器:MsSql,MySql,Postgres,SQLite,Json,MongoDB,RavenDB,嘗試連接到Json數(shù)據(jù)源,從Nuget安裝適當(dāng)?shù)倪B接器。在表單上,??為它添加一個(gè)按鈕和以下代碼:

    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連接器,然后創(chuàng)建一個(gè)報(bào)表對(duì)象并調(diào)用設(shè)計(jì)器。在設(shè)計(jì)器中,創(chuàng)建了一個(gè)新的數(shù)據(jù)連接。在可用的連接器中,看到了添加的JSON,選擇它并使用.json擴(kuò)展名設(shè)置數(shù)據(jù)文件的路徑。

    NugetControls

    創(chuàng)建報(bào)表模板并保存,現(xiàn)在,在按鈕的代碼中,替換該行:

    report.Design();

    改為:

    report.Load(@"TestJsonConnection.frx");
    report.Show();

    在這里,指定之前創(chuàng)建的報(bào)表文件的路徑,運(yùn)行報(bào)表。使用兩個(gè)庫(kù)連接器——從Nuget安裝庫(kù),并在代碼中初始化它。但是,如果它來(lái)自ASP .Net Core應(yīng)用程序,并非如此簡(jiǎn)單。

    首先,創(chuàng)建一份報(bào)表。為此,需要從代碼中運(yùn)行設(shè)計(jì)器,在Web項(xiàng)目中,這是不可能實(shí)現(xiàn)。將創(chuàng)建一個(gè)WinForms應(yīng)用程序,專門(mén)用于運(yùn)行設(shè)計(jì)器,將插件安裝在單獨(dú)的ReportDesigner中并在其中創(chuàng)建報(bào)表。其次,除了初始化連接器庫(kù)之外,還需要指定連接字符串,創(chuàng)建表以及添加與報(bào)表的連接:

     JsonDataConnection conn = new JsonDataConnection();
     conn.ConnectionString = "Json=\"K:\\Documents\\nwind.json\"";
     conn.CreateAllTables();
     report.Dictionary.Connections.Add(conn);

    通過(guò)操作,這與使用第三方庫(kù)連接數(shù)據(jù)庫(kù),因此,在.Net Core的情況下,并非所有內(nèi)容都是如此明確。但在.Net Framework 4應(yīng)用程序中,優(yōu)于第三方庫(kù)的優(yōu)勢(shì)顯而易見(jiàn)。

    FastReport教程合集
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();