• <menu id="w2i4a"></menu>
  • logo FastReport.Net教程2019

    文檔首頁>>FastReport.Net教程2019>>如何從應(yīng)用程序代碼創(chuàng)建到JSON數(shù)據(jù)庫的連接

    如何從應(yīng)用程序代碼創(chuàng)建到JSON數(shù)據(jù)庫的連接


    大多數(shù)報(bào)表顯示一些數(shù)據(jù)。通常,此數(shù)據(jù)是從數(shù)據(jù)庫獲得的。因此,報(bào)表具有到數(shù)據(jù)源的連接,以便具有可用表和字段以及數(shù)據(jù)本身的列表。但是,如果在編寫報(bào)表時(shí),您只有一個(gè)本地?cái)?shù)據(jù)庫,并且您在報(bào)表中創(chuàng)建了到該數(shù)據(jù)庫的連接。這樣,報(bào)表將無法正常工作。我們需要有效的連接。解決這種情況的方法有兩種:使用用戶程序中的數(shù)據(jù)源,或替換報(bào)表中的連接線。

    第一種方法是眾所周知的。您需要在應(yīng)用程序中創(chuàng)建連接,然后登錄到報(bào)表。然后,在設(shè)計(jì)報(bào)表時(shí),可以選擇此別名來源。一方面,這很方便,因?yàn)楦倪B接器不會(huì)影響報(bào)表。無論報(bào)表從何處獲取數(shù)據(jù),只要表和字段名稱、數(shù)據(jù)類型和模板中提供的數(shù)據(jù)類型相同即可。這種方法的缺點(diǎn)是沒有用戶應(yīng)用程序就無法設(shè)計(jì)報(bào)表。畢竟,連接只是在其中。報(bào)表開發(fā)人員可能沒有任何用戶連接到該應(yīng)用程序。在這種情況下,內(nèi)部連接到報(bào)表中的數(shù)據(jù)將是適當(dāng)?shù)摹?

    因此,讓我們看一下如何輕松地使用內(nèi)部連接替換現(xiàn)有報(bào)表的連接。當(dāng)然,該連接必須位于同一數(shù)據(jù)庫以及報(bào)表中。只需為其設(shè)置另一個(gè)位置。

    對(duì)于此應(yīng)用程序,您需要添加對(duì)庫的引用:FastReport.dll和FastReport.JsonDataConnection.dll。在目錄FastReport.net中,有安裝文件夾ExtrasConnectionsFastReport.Json。您需要組裝項(xiàng)目。然后,您獲得了必要的庫。將它們添加到項(xiàng)目引用中。還有一個(gè)替代連接代碼:

    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();
     }

    首先,我們將連接對(duì)象注冊(cè)到Json數(shù)據(jù)庫。接下來,創(chuàng)建一個(gè)報(bào)表對(duì)象的實(shí)例。創(chuàng)建JSON連接對(duì)象的副本。我們?cè)O(shè)置其ConnectionString屬性——基本上只是指向文件的鏈接。在我們的例子中,文件位于項(xiàng)目的App_Data文件夾中。CreateAllTables函數(shù)從源中加載所有表。

    接下來,我們需要將創(chuàng)建的連接添加到報(bào)表的連接集合中,并在報(bào)表中注冊(cè)數(shù)據(jù)源。

    現(xiàn)在,重要的是下載報(bào)表模板。如果在添加到報(bào)表連接的集合之前進(jìn)行連接,則帶有替換的技巧將不起作用。下載模板后,您需要準(zhǔn)備一份報(bào)表到顯示屏,然后顯示它。

    結(jié)果,我們建立了一個(gè)報(bào)表,該數(shù)據(jù)源最初是建立在另一條連接線上的。因此,我們可以替換任何記錄中的連接字符串,而不必?fù)?dān)心報(bào)表中指定路徑上的數(shù)據(jù)庫。



    產(chǎn)品介紹 | 下載試用 | 優(yōu)惠活動(dòng) | 在線客服

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    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); })();