• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      利用水晶報(bào)表動(dòng)態(tài)綁定數(shù)據(jù)源實(shí)現(xiàn)動(dòng)態(tài)交叉表的方法研究

      2015-10-20 02:39:24常婉綸劉豫凡西安理工大學(xué)陜西西安7008西北工業(yè)大學(xué)機(jī)電學(xué)院陜西西安7007
      關(guān)鍵詞:數(shù)據(jù)源水晶報(bào)表

      劉 輝,常婉綸,劉豫凡(.西安理工大學(xué),陜西 西安7008;.西北工業(yè)大學(xué) 機(jī)電學(xué)院 陜西 西安 7007)

      利用水晶報(bào)表動(dòng)態(tài)綁定數(shù)據(jù)源實(shí)現(xiàn)動(dòng)態(tài)交叉表的方法研究

      劉輝1,常婉綸1,劉豫凡2
      (1.西安理工大學(xué),陜西西安710082;2.西北工業(yè)大學(xué)機(jī)電學(xué)院陜西西安710072)

      為減少數(shù)據(jù)冗余,根據(jù)規(guī)范化理論設(shè)計(jì)的數(shù)據(jù)庫(kù)不能直接輸出分類匯總的結(jié)果,需要進(jìn)行轉(zhuǎn)換生成交叉表,并利用水晶報(bào)表的Push模式實(shí)現(xiàn)對(duì)交叉表的顯示。在.NET和SQL Server環(huán)境下,探討了動(dòng)態(tài)交叉表的生成和利用水晶報(bào)表動(dòng)態(tài)綁定數(shù)據(jù)源顯示數(shù)據(jù)的方法,并給出了較為詳細(xì)的實(shí)現(xiàn)過(guò)程。

      動(dòng)態(tài)交叉表;水晶報(bào)表;Push模式;動(dòng)態(tài)綁定

      0 引言

      信息系統(tǒng)中都不能缺少報(bào)表,而交叉表是種常見(jiàn)的報(bào)表形式,它將源表中的數(shù)據(jù)分組匯總后,一組列在表的左側(cè),另一組列在表的上部,從而形成一種分類匯總表格[1]。動(dòng)態(tài)交叉表是按用戶呈現(xiàn)數(shù)據(jù)的要求,不僅對(duì)數(shù)據(jù)進(jìn)行分類,同時(shí)還要根據(jù)表中數(shù)據(jù)的情況動(dòng)態(tài)創(chuàng)建列,把數(shù)據(jù)行信息置換到表格列處并進(jìn)行匯總。

      水晶報(bào)表是一款商務(wù)智能軟件,主要用于設(shè)計(jì)產(chǎn)生報(bào)表,是業(yè)內(nèi)功能最強(qiáng)的報(bào)表系統(tǒng)[2],其出現(xiàn)的目的就是使計(jì)算機(jī)參與到辦公系統(tǒng)業(yè)務(wù)流程中。

      1 問(wèn)題的提出

      以我校學(xué)生成績(jī)管理系統(tǒng)為例,為消除存儲(chǔ)異常,減少數(shù)據(jù)冗余,保證數(shù)據(jù)的完整性,按規(guī)范化設(shè)計(jì)理論設(shè)計(jì)的數(shù)據(jù)庫(kù)含多張表,其中與成績(jī)有關(guān)的3個(gè)表的關(guān)系模式學(xué)生信息表S(學(xué)號(hào)、姓名、性別、班號(hào))、課程信息表C(課號(hào)、課名)、學(xué)生成績(jī)表SC(學(xué)號(hào)、課號(hào)、學(xué)期、成績(jī))之間的關(guān)系圖如圖1所示。學(xué)生成績(jī)表中的數(shù)據(jù)形式如圖2所示。實(shí)際工作中需要打印的學(xué)生成績(jī)表如圖3所示。

      圖1 3個(gè)表的關(guān)系圖

      圖2 成績(jī)表中的數(shù)據(jù)

      由此可見(jiàn),數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù),在某些應(yīng)用中,需要生成動(dòng)態(tài)交叉表,因不同班級(jí)不同學(xué)期學(xué)生學(xué)習(xí)的課程不一樣,生成的動(dòng)態(tài)交叉表的列項(xiàng)的個(gè)數(shù)和名稱都是不固定的。經(jīng)驗(yàn)表明,水晶報(bào)表雖然功能強(qiáng)大且使用方便,但它要求設(shè)計(jì)表格時(shí)所使用的表名以及列名與使用時(shí)必須一致。本文研究了水晶報(bào)表的Pull模式和Push模式[3],提出了在數(shù)據(jù)庫(kù)端生成一個(gè)表格列項(xiàng)固定的動(dòng)態(tài)交叉表,利用Push模式動(dòng)態(tài)綁定數(shù)據(jù)源把數(shù)據(jù)推送給水晶報(bào)表引擎的方法。

      圖3 需打印的某班級(jí)學(xué)生成績(jī)單樣式

      2 生成動(dòng)態(tài)交叉表

      首先在數(shù)據(jù)庫(kù)服務(wù)器端完成列項(xiàng)名稱與個(gè)數(shù)固定的動(dòng)態(tài)交叉表的生成。設(shè)每學(xué)期最多有8門課,實(shí)現(xiàn)方法如下:

      (1)創(chuàng)建函數(shù)ufGetCourse,功能是篩選出某班對(duì)應(yīng)學(xué)期的課程,并按順序編號(hào)。運(yùn)行結(jié)果如圖4所示。

      圖4 某班某學(xué)期開(kāi)設(shè)的課程及順序編號(hào)

      (2)創(chuàng)建存儲(chǔ)過(guò)程upCreateJCB,功能是按學(xué)號(hào)對(duì)應(yīng),把順序編號(hào)為1的4號(hào)課程成績(jī)放在Cj1列中,把順序編號(hào)為2的5號(hào)課程成績(jī)放在Cj2列中,以此類推,最后計(jì)算每個(gè)學(xué)生的總評(píng)分。運(yùn)行結(jié)果如圖5所示。

      圖5 生成的動(dòng)態(tài)交叉表

      3 水晶報(bào)表動(dòng)態(tài)綁定數(shù)據(jù)源

      應(yīng)用程序的前臺(tái)界面在.NET平臺(tái)下進(jìn)行水晶報(bào)表設(shè)計(jì),采用Push模式在程序中動(dòng)態(tài)加載數(shù)據(jù)源和報(bào)表,用動(dòng)態(tài)傳參方式把表頭的cj1~cj8更換成對(duì)應(yīng)的中文課程名,方法如下:

      (1)建立解決方案。在解決方案資源管理器中添加“Crystal報(bào)表”模板。方法為:添加→新建項(xiàng)→Crystal報(bào)表→命名報(bào)表為MyCry.rpt→作為空白報(bào)表。

      (2)在字段資源管理器中通過(guò)“報(bào)表專家”完成報(bào)表設(shè)計(jì)。方法為:數(shù)據(jù)庫(kù)字段→數(shù)據(jù)庫(kù)專家→創(chuàng)建新鏈接→OLE DB(ADO)→MicrosoftOLE DB Providerfor SQL Server→填寫鏈接數(shù)據(jù)庫(kù)的信息→選擇對(duì)應(yīng)的數(shù)據(jù)庫(kù)→選擇存儲(chǔ)過(guò)程upCreateJCB→把涉及的字段拖拽到水晶報(bào)表細(xì)節(jié)欄中并填上表格線。

      (3)在字段資源管理器中添加參數(shù)字段:班級(jí)名classname、學(xué)期TermNo、Cj1~Cj8,并把這些參數(shù)字段拖拽到水晶報(bào)表的頁(yè)眉欄處。

      經(jīng)過(guò)上述過(guò)程設(shè)計(jì)的報(bào)表MyCry.rpt如圖6所示。

      圖6 設(shè)計(jì)完成的水晶報(bào)表MyCry.rpt

      (4)在窗體上放一個(gè)CrystalReportViewer控件并命名為crv,用C#編程動(dòng)態(tài)加載數(shù)據(jù)源和報(bào)表。代碼如下:

      4 結(jié)論

      本文提出了利用水晶報(bào)表顯示并打印動(dòng)態(tài)交叉表的一種方法,圖3就是本校學(xué)籍管理系統(tǒng)中用本方法打印的成績(jī)匯總表,由于來(lái)源于真實(shí)數(shù)據(jù),故姓名處進(jìn)行了處理。

      [1]張賢斌,費(fèi)樹(shù)岷.管理信息系統(tǒng)中動(dòng)態(tài)交叉表的實(shí)現(xiàn)方式研究[J].計(jì)算機(jī)應(yīng)用工程技術(shù),2008,4(4):995-996.

      [2]叢鳳俠,楊玉強(qiáng).通用水晶報(bào)表自動(dòng)生成技術(shù)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(5):54-57.

      [3]錢哨,李揮劍,李繼哲,等.C#WinForm實(shí)踐開(kāi)發(fā)教程[M].北京:中國(guó)水利水電出版社,2010.

      Using crystal reports dynamic binding data source for complex dynamic crosstab method research

      Liu Hui1,Chang Wanlun1,Liu Yufan2
      (1.Xi′an University of Technology,Xi′an 710082,China;2.School of Mechanical Engineering,Northwestern Polytechnical University,Xi′an 710072,China)

      To reduce data redundancy,it is impossible to output a subtotaled report based on a database design which follows the strict design paradigm.To do it,transforming data to cross-table and rendering them via push model in crystal reports is needed.Based on.NET and SQL server environment,this paper explores and studies the technique about generating dynamic crosstable and the method about dynamic binding the data source to display data,as well as gives a more detailed implementation process.

      dynamic crosstab;crystal reports;Push mode;dynamic binding

      TP312

      A

      1674-7720(2015)10-0084-03

      2015-01-17)

      劉輝(1965-),女,碩士,副教授,主要研究方向:軟件算法、數(shù)據(jù)庫(kù)、數(shù)據(jù)挖掘。

      猜你喜歡
      數(shù)據(jù)源水晶報(bào)表
      一張水晶卡告訴你浪漫都在哪
      金卡生活(2021年7期)2021-07-07 05:14:40
      LabWindows/CVI中Excel報(bào)表技術(shù)研究
      邁向UHD HDR的“水晶” 十萬(wàn)元級(jí)別的SIM2 CRYSTAL4 UHD
      藍(lán)水晶般的大眼睛
      Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
      從三大報(bào)表讀懂養(yǎng)豬人的成績(jī)單
      基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評(píng)價(jià)研究
      尋找藍(lán)水晶
      基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評(píng)價(jià)算法
      分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢?cè)O(shè)計(jì)與實(shí)現(xiàn)
      滦南县| 兴义市| 海阳市| 合川市| 乌恰县| 怀来县| 扎兰屯市| 普兰店市| 铜鼓县| 五常市| 金坛市| 鹤壁市| 许昌市| 泸定县| 罗平县| 从江县| 洛浦县| 三原县| 大姚县| 绥江县| 大渡口区| 保靖县| 夹江县| 修武县| 平江县| 上饶县| 杭锦旗| 和政县| 沙洋县| 鹤壁市| 旌德县| 塔城市| 德昌县| 舞阳县| 扎鲁特旗| 大关县| 鸡泽县| 洞口县| 阜宁县| 平武县| 于田县|