999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

VS.NET中Crystal Reports的使用

2007-07-05 01:40:06池同柱
關(guān)鍵詞:數(shù)據(jù)庫用戶

陳 平 池同柱

摘要:介紹了Crystal Reports功能、結(jié)構(gòu)和特點(diǎn).通過在VS.NET創(chuàng)建具體的Windows應(yīng)用演示了Crystal Reports的強(qiáng)大功能。

關(guān)鍵詞:VS.NETCrystalReports

中圖分類號TP312文獻(xiàn)標(biāo)識碼A文章編號:1002-2422(2007)03-0019-02

1Crystal Reports簡介

1.1Crystal Reports的功能

(1)支持多種數(shù)據(jù)源和強(qiáng)大的內(nèi)容創(chuàng)建功能;(2)交互式和自定義功能;(3)將報(bào)表并入應(yīng)用程序。

1.2Crystal Reports的結(jié)構(gòu)

Crystal Reports訪問數(shù)據(jù)庫文件需要經(jīng)過三層(如圖1):Crystal Reports作為接口運(yùn)行,通過此接口可以對數(shù)據(jù)庫文件中存儲的數(shù)據(jù)進(jìn)行格式化、排列、選擇和排序。它通過與數(shù)據(jù)轉(zhuǎn)換層中的一個(gè)或多個(gè)文件通訊來獲取數(shù)據(jù),此數(shù)據(jù)轉(zhuǎn)換層通過一組專用于Crystal Reports的DLL對來自不同數(shù)據(jù)源的數(shù)據(jù)進(jìn)行轉(zhuǎn)換。

Crystal Reports Designer用于報(bào)表的設(shè)計(jì),用戶可以在報(bào)表設(shè)計(jì)過程中設(shè)置報(bào)表的標(biāo)題、插入數(shù)據(jù)、公式、圖表、子報(bào)表等操作。

Crystal Reports Viewer是用于查看報(bào)表的控件。對于Web應(yīng)用和Windows應(yīng)用分別有不同的Viewer控件,但其功能基本相同,主要用途都是查看應(yīng)用程序中的報(bào)表。除此之外,查看器控件對報(bào)表的控制是非常有限的。

報(bào)表文件是在Crystal Reports Designer中設(shè)計(jì)的,用來確定來自數(shù)據(jù)源的數(shù)據(jù)顯示方式的文件,默認(rèn)安裝方式下VS.NET已經(jīng)安裝一些報(bào)表文件(.rpt)示例。

1.3Crystal Reports的執(zhí)行模式

DataSouree是報(bào)表文件中數(shù)據(jù)的來源。報(bào)表文件取得數(shù)據(jù)的方法有兩種:一種是讓Crystal Reports自己選擇數(shù)據(jù)而不使用任何代碼;另一種是手動(dòng)編寫代碼組裝DataSet,然后將DataSet作為數(shù)據(jù)源綁定到報(bào)表文件。

對應(yīng)兩種不同的取數(shù)據(jù)的方法,Crystal Reports有兩種執(zhí)行模式:

(1)Pull模式:被請求時(shí),Crystal Reports直接根據(jù)指定的驅(qū)動(dòng)連接數(shù)據(jù)庫,然后組裝這些數(shù)據(jù)。

(2)Push模式:開發(fā)人員需要自己編寫代碼連接數(shù)據(jù)庫并組裝DataSet,同時(shí)將DataSet中的數(shù)據(jù)傳送至Crysta]-Reports。

1.4Crystal Reports的報(bào)表類型

(1)Strongly-Typed報(bào)表:如果報(bào)表被加入到項(xiàng)目中去,則該報(bào)表即為Stronsly-Typed報(bào)表。此時(shí)用戶擁有創(chuàng)建報(bào)表對象的權(quán)力,能夠減少代碼并提高性能。

(2)Un-Typed報(bào)表:如果報(bào)表不直接包含在項(xiàng)目中,稱為Un-Typed報(bào)表。此時(shí),用戶需要用Crystal Reports的ReportDocument對象創(chuàng)建一個(gè)實(shí)例,并手動(dòng)調(diào)用報(bào)表。

2Crystal Reports在VS.NET中的應(yīng)用

2.1建立到數(shù)據(jù)源的連接

Crystal Reports支持多種類型數(shù)據(jù)的訪問,如訪問ODBC數(shù)據(jù)源、OLEDB數(shù)據(jù)源、Excel、Access中的數(shù)據(jù)、XML、OLAP數(shù)據(jù)源。用戶可以根據(jù)報(bào)表中數(shù)據(jù)的具體來源建立到相應(yīng)數(shù)據(jù)源的連接。若在Windows應(yīng)用中報(bào)表的數(shù)據(jù)來源于SQL Server2000,可在VS.NET中從“工具箱”的“數(shù)據(jù)”選項(xiàng)卡上將“sqlConnection控件”拖到報(bào)表窗體中,在窗體下方顯示該控件自動(dòng)命名為sqlConnection1。

在sqlConnection1控件的屬性窗口中配置Connection-String屬性,選擇“新建連接”,指定數(shù)據(jù)庫服務(wù)器名稱為“TBDYJ”,選取合適的身份認(rèn)證方式并輸入身份認(rèn)證信息,如果正確即可繼續(xù)選取該數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)庫“students”,認(rèn)證信息不正確則無法繼續(xù)進(jìn)行。

2.2建立數(shù)據(jù)適配器

從VS.NET的“工具箱”的“數(shù)據(jù)”選項(xiàng)卡中拖動(dòng)“sql-Data.Adapter控件”到將要?jiǎng)?chuàng)建報(bào)表的窗體中去,建立名為sqlDataAdapter1的數(shù)據(jù)適配器同時(shí)自動(dòng)彈出數(shù)據(jù)適配器向?qū)?shù)據(jù)適配器進(jìn)行配置。選了剛剛建立的到數(shù)據(jù)庫連接,選擇“使用SQL語句”訪問數(shù)據(jù)庫,通過“查詢生成器”將對視圖V_stud的查詢作為數(shù)據(jù)適配器訪問數(shù)據(jù)庫students的方式。

按照同樣的方式再創(chuàng)建兩個(gè)數(shù)據(jù)適配器sqlDataAdapter2和sqlDataAdapter3,分別配置為通過對視圖V_course、V_sc查詢來訪問數(shù)據(jù)庫students。

2.3生成ADO.NET數(shù)據(jù)集對象

選取sqlDataAdapter1并右鍵單擊選中快捷菜單中的“生成數(shù)據(jù)集”,此時(shí)會彈出“生成數(shù)據(jù)集”的對話窗口,在其中選擇“新建”并輸入新創(chuàng)建的數(shù)據(jù)集對象的名稱,默認(rèn)為DataSet1,此時(shí)系統(tǒng)自動(dòng)在當(dāng)前項(xiàng)目中添加一個(gè)名為DataSet1的數(shù)據(jù)集對象,同時(shí)生成數(shù)據(jù)集對象DataSet1的一個(gè)實(shí)例,默認(rèn)名稱為DataSet11,并為數(shù)據(jù)集建立架構(gòu),其中包含了數(shù)據(jù)庫students中視圖V_stud及其字段和類型的描述,但并不包括實(shí)際數(shù)據(jù)。

2.4設(shè)計(jì)新報(bào)表

若準(zhǔn)備在當(dāng)前的工程中創(chuàng)建三種不同的報(bào)表分別顯示學(xué)生情況、課程情況和每門課程學(xué)生選修情況及成績,必須根據(jù)三種報(bào)表所要反映的內(nèi)容創(chuàng)建三種不同類型的報(bào)表。

先創(chuàng)建反映學(xué)生情況的報(bào)表。在“解決方案資源管理器”中選取當(dāng)前的工程名稱,右鍵單擊在快捷菜單中選取“添加新項(xiàng)”,并在彈出的窗口的“模板”中選取“Crystal Report”,再輸入名稱即可,默認(rèn)為CrystalReport1,此時(shí)即建立了一個(gè)新的報(bào)表類同時(shí)自動(dòng)打開報(bào)表創(chuàng)建向?qū)В脩艨沙浞掷眠@些向?qū)Э焖賱?chuàng)建各種類型的功能強(qiáng)大的報(bào)表,在向?qū)У膸椭驴梢钥焖龠x取報(bào)表中使用的數(shù)據(jù)來源(來源于剛剛生成的數(shù)據(jù)集DataSet11中的表V_stud)、選取在報(bào)表中要顯示的字段、數(shù)據(jù)分組的依據(jù)字段、是否進(jìn)行總計(jì)、對報(bào)表中的數(shù)據(jù)進(jìn)行篩選、報(bào)表類型、圖表類型等。設(shè)置完成后,可在報(bào)表設(shè)計(jì)器中對剛剛設(shè)置過的報(bào)表樣式外觀進(jìn)行修改和調(diào)整。

依同樣的方法可建立另外兩個(gè)報(bào)表文件CrystalReport2和CrystalReport3,分別用來顯示課程信息和學(xué)生成績信息。

2.5添加“CrystalReportViewer”控件

CrystalReportViewer是用于查看報(bào)表文件的控件,從

“工具箱”的“Windows窗體”中選取CrystalReportViewer控件到窗體中去,默認(rèn)名字為CrystalReportViewer1,為了能夠在一個(gè)報(bào)表查看控件中查看三種不同的報(bào)表,可以窗體上再添加一個(gè)ComboBox控件comboBox1,在其屬性Items中設(shè)置三個(gè)選項(xiàng):學(xué)生信息表、課程信息表、成績信息表,以方便用戶通過不同選擇查看不同的報(bào)表。

2.6添加事件處理代碼

采用數(shù)據(jù)訪問的push模式,將數(shù)據(jù)從數(shù)據(jù)源中需要的數(shù)據(jù)推入數(shù)據(jù)集中,并將在報(bào)表所在的窗體加載事件(Form_Load事件)中添加如下代碼:

sqlDataAdapter1.Fill(dataSetll,“V_stud”);

CrystalReport1 myrpt=new CrystalReport1();

myrptSetDataSource(dataSetll);

crystalReportViewer1.ReportSource=myrpt;

可以通過ComboBox控件來選擇所要查看的報(bào)表文件,還必須在comboBox1控件的SelectedindexChanged事件中添加如下代碼:

switch(int32.Pame(comboBox1.Selectedindex.ToString())){

case 0:{

sqlDutaAdaptcr1.Fill(dataSet11,“V_stud”);

CrystalReport1 myrpt=new CrystalReport1();

myrpt.SetDataSource(dataSet11);

crystalReportViewer1.ReportSource=myrpt;

break;}

case 1:{

sqlDataAdapter2.Fill(dataSetll,“v_cou”);

CrystaReport2 myrpt=new CrystalReport2();

myrpt.SetDataSource(dataSet11);

crystalReportViewcr1.ReportSource=myrpt;

break;}

case 2:{

sqlDataAdapter3.Fill(dataSet11,“V_SC”);

CrystalReport4 myrpt=new CrystalReport4();

myrpt.SetDataSource(dataSet11);

crystalRcportViewer1.ReportSource=myrpt;

break;}

3結(jié)束語

本文通過使用Crystal Reports的Push數(shù)據(jù)訪問模式在Windows應(yīng)用程序中建立復(fù)雜的圖表應(yīng)用,展示了CrystalReports的功能:對于報(bào)表的更復(fù)雜的控制,可以使用通過非類型化的報(bào)表組件,在程序中進(jìn)行控制。

猜你喜歡
數(shù)據(jù)庫用戶
數(shù)據(jù)庫
數(shù)據(jù)庫
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫
數(shù)據(jù)庫
Camera360:拍出5億用戶
100萬用戶
主站蜘蛛池模板: 黄色免费在线网址| 精品欧美一区二区三区在线| 久久久91人妻无码精品蜜桃HD| 亚洲无码91视频| 91亚洲精品第一| 色婷婷狠狠干| 亚洲第一中文字幕| 一本色道久久88| 亚洲日本在线免费观看| vvvv98国产成人综合青青| 原味小视频在线www国产| 国产精品福利尤物youwu| 国产黄网站在线观看| 又猛又黄又爽无遮挡的视频网站| 亚洲成年人网| 久久青草热| 亚洲黄色视频在线观看一区| 国产成人无码久久久久毛片| 国产福利拍拍拍| 最近最新中文字幕在线第一页 | 久久a毛片| 国产视频自拍一区| 久久综合结合久久狠狠狠97色| 欧美性猛交一区二区三区| 免费高清自慰一区二区三区| 国产欧美视频在线观看| 成人看片欧美一区二区| 99在线视频网站| 正在播放久久| 亚洲最黄视频| 91精品啪在线观看国产60岁| 国产手机在线小视频免费观看| 亚洲二区视频| 91福利免费| 8090成人午夜精品| 成人午夜久久| 国产va在线观看免费| 亚洲成av人无码综合在线观看| 久久精品嫩草研究院| 国产爽歪歪免费视频在线观看| 亚洲精品人成网线在线| 国产美女在线观看| 色九九视频| 伊人天堂网| 国产白浆视频| 99er精品视频| 欧美一区二区三区香蕉视| 日韩欧美国产中文| 国产成a人片在线播放| 在线a网站| 欧美在线观看不卡| 98精品全国免费观看视频| 极品私人尤物在线精品首页| 国产亚洲精品无码专| 国产国拍精品视频免费看| 欧美不卡视频一区发布| 伊人久久久大香线蕉综合直播| 国产美女久久久久不卡| 成人91在线| 五月婷婷精品| 免费高清自慰一区二区三区| 啊嗯不日本网站| 久久人搡人人玩人妻精品 | 中文字幕2区| 亚洲视频a| 在线无码九区| 成人午夜精品一级毛片| 亚洲婷婷在线视频| 免费精品一区二区h| 欧美国产日本高清不卡| 免费又黄又爽又猛大片午夜| 在线观看免费国产| 色丁丁毛片在线观看| 精品無碼一區在線觀看 | 一本色道久久88| 91无码视频在线观看| 九九视频免费看| 欧美97欧美综合色伦图| 午夜欧美理论2019理论| 一本大道视频精品人妻| 亚洲二三区| 中文无码精品A∨在线观看不卡|