畢業(yè)論文 圖書管理系統(tǒng)

上傳人:1666****666 文檔編號(hào):38662237 上傳時(shí)間:2021-11-08 格式:DOC 頁數(shù):39 大?。?.39MB
收藏 版權(quán)申訴 舉報(bào) 下載
畢業(yè)論文 圖書管理系統(tǒng)_第1頁
第1頁 / 共39頁
畢業(yè)論文 圖書管理系統(tǒng)_第2頁
第2頁 / 共39頁
畢業(yè)論文 圖書管理系統(tǒng)_第3頁
第3頁 / 共39頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《畢業(yè)論文 圖書管理系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《畢業(yè)論文 圖書管理系統(tǒng)(39頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、福建商業(yè)高等??茖W(xué)校 2009 屆畢業(yè)論文圖書管理系統(tǒng)學(xué)生姓名: 林宏弘 學(xué)生學(xué)號(hào): 09537003年 級(jí): 2009 專 業(yè): 軟件技術(shù)指導(dǎo)教師: 林峰 職 稱: 講 師 2012年 05 月畢業(yè)論文原創(chuàng)性聲明畢業(yè)論文原創(chuàng)性聲明茲呈交的畢業(yè) 論文,是本人在指導(dǎo)老師指導(dǎo)下獨(dú)立完成的。本人在畢業(yè)論文寫作中參考的其他個(gè)人或集體的研究成果,均在文中心明確方式標(biāo)明。本人依法享有和承擔(dān)由此論文而產(chǎn)生的權(quán)利和責(zé)任聲明人: 林宏弘2012 年 05 月 內(nèi) 容 摘 要科研管理系統(tǒng)是針對(duì)我校日??蒲泄芾砉ぷ鞯木唧w要求,從科研成果管理、科研項(xiàng)目管理、科研經(jīng)費(fèi)管理、科研機(jī)構(gòu)及科研人員等方面進(jìn)行建設(shè)的系統(tǒng)。隨著科

2、研管理系統(tǒng)數(shù)據(jù)日益增加,數(shù)據(jù)量的龐大,教師對(duì)數(shù)據(jù)查看的要求也隨之提高,尤其是報(bào)表方面,舊的報(bào)表已經(jīng)不能滿足教師的需求。為此,對(duì)科研系統(tǒng)進(jìn)行改進(jìn),主要是報(bào)表數(shù)據(jù)顯示方面。本系統(tǒng)是在 Windows XP下,采用 ASP.NETWEB 技術(shù)和 Microsoft SQL Server 2000 數(shù)據(jù)庫,開發(fā)工具為 Microsoft Visual Studio 2008,采用 C#技術(shù)模擬 Pet.Shop 架構(gòu)開發(fā)的一種系統(tǒng)。應(yīng)用數(shù)據(jù)層基類 、數(shù)據(jù)層工廠類、接口層 、接口實(shí)現(xiàn)層 、實(shí)體類 、業(yè)務(wù)邏輯層、表示層的分層體系結(jié)構(gòu)。主要用了 ASP.NET 中的用戶自定義控件和 UserControl

3、類。關(guān)鍵字關(guān)鍵字:C#;SQLserver2005; Pet.Shop 架構(gòu);報(bào)表; 科研管理系統(tǒng)目目 錄錄中英文摘要. (I)1.引言.(1)2.可行性分析.(1)2.1 可行性研究的前提.(1)2.1.1 目的.(1)2.1.2 條件.(1)2.1.3 決定可行性的主要因素.(1)2.2 系統(tǒng)技術(shù)可行性分析.(2)2.2.1 開發(fā)環(huán)境的選擇 .(2)2.2.2 編程語言的選擇.(4)2.2.3 數(shù)據(jù)庫服務(wù)器的選擇 .(4)3.模塊分析及總體設(shè)計(jì).(4)3.1模塊需求. (4)3.1.1 系統(tǒng)結(jié)構(gòu)分析.(5)3.1.2 功能描述.(6)3.1.3 功能模塊詳細(xì)描述.(6)3.2 系統(tǒng)開發(fā)工具

4、 . (6)3.2.1 系統(tǒng)開發(fā)所用技術(shù).(7)3.2.2 運(yùn)行環(huán)境.(7)4.模塊開發(fā)設(shè)計(jì).(7)4.1開發(fā)框架的設(shè)計(jì). (7)4.1.1 模型設(shè)計(jì).(10)4.1.2 控制器設(shè)計(jì).(11)4.1.3 視圖設(shè)計(jì).(11)4.2 數(shù)據(jù)庫設(shè)計(jì) . (11)4.2.1 數(shù)據(jù)庫表設(shè)計(jì)的準(zhǔn)則.(11)4.2.2 數(shù)據(jù)庫表的設(shè)計(jì)(前臺(tái)).(11)5.系統(tǒng)設(shè)計(jì).(15)5.1 首頁登錄界面.(15)5.2 報(bào)表分析.(16)5.3 年度報(bào)表.(18)5.3.1 年度報(bào)表.(18)5.3.2 個(gè)人報(bào)表.(27)5.3.3 年度工作.(32)6.總結(jié) (21)致謝.(33)參考文獻(xiàn).(34)01.引 言計(jì)算機(jī)

5、是新技術(shù)革命的一支主力,也是推動(dòng)社會(huì)向現(xiàn)代化邁進(jìn)的活躍因素。計(jì)算機(jī)科學(xué)與技術(shù)是第二次世界大戰(zhàn)以來發(fā)展最快、影響最為深遠(yuǎn)的新興學(xué)科之一。計(jì)算機(jī)產(chǎn)業(yè)已在世界范圍內(nèi)發(fā)展成為一種極富生命力的戰(zhàn)略產(chǎn)業(yè)。隨著社會(huì)的發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)日趨成熟,走進(jìn)了我們的生活,成為我們生活的主流,同時(shí)也被廣泛應(yīng)用于教學(xué),科研,事業(yè)等各個(gè)方面。所謂科研管理系統(tǒng)就是針對(duì)日??蒲泄芾砉ぷ鞯木唧w要求而實(shí)現(xiàn)科研工作的網(wǎng)絡(luò)化管理的一種系統(tǒng),本系統(tǒng)的建設(shè)也是計(jì)算機(jī)網(wǎng)絡(luò)飛速發(fā)展給人們帶來方便的一種表現(xiàn)。本系統(tǒng)模擬 Pet.Shop 框架開發(fā),在 Microsoft Visual Studio 2005 平臺(tái)下使用 C#語言開發(fā)的,數(shù)據(jù)庫使用

6、 Microsoft SQL Server 2005。通過前用戶界面和后臺(tái)代碼的建設(shè)共同完成了科研成果管理、科研項(xiàng)目管理、科研經(jīng)費(fèi)管理、科研機(jī)構(gòu)及科研人員等模塊從而充分展示了科研管理系統(tǒng)所帶來的便利。2.可行性分析2.1 可行性研究的前提2.1.12.1.1 目的盡可能在最短的時(shí)間內(nèi)確定完成系統(tǒng)模塊,以便學(xué)??蒲泄ぷ鞲禹樌M(jìn)行。2.1.22.1.2 條件現(xiàn)所具有的軟、硬件設(shè)備如下:開發(fā)設(shè)備:PC 機(jī)(CPU:Intel(R) Core(TM)2 CPU 4300 1.80GHz (2 CPUs) ,內(nèi)存:2046MB)開發(fā)環(huán)境:Windows XP開發(fā)軟件:Visual Studio 200

7、8數(shù)據(jù)庫服務(wù)器:SQL Server 2005其它輔助工具:Dreamweaver 以上設(shè)備可以滿足本系統(tǒng)的開發(fā)。2.1.32.1.3 決定可行性的主要因素一個(gè)良好的科研管理系統(tǒng)可以幫助我??蒲泄ぷ鞯木W(wǎng)絡(luò)化管理。完成此系統(tǒng)有助于科研管理溝通平臺(tái)的構(gòu)建,系統(tǒng)維護(hù)只要在后臺(tái)進(jìn)行編輯,前臺(tái)的用戶界面操作就能很好地按一定方式進(jìn)行以達(dá)到你所要的效果。服務(wù)于學(xué)校科研工作人員的工作,具1有較強(qiáng)的使用性。當(dāng)然,系統(tǒng)的完整性離不開各模塊的完整性。2.2 系統(tǒng)技術(shù)可行性分析2.2.12.2.1開發(fā)環(huán)境的選擇C#(讀做 C sharp) 是微軟推出的一種基于 .NET 框架的、面向?qū)ο蟮母呒?jí)編程語言。C#由 C 語

8、言和 C+派生而來,繼承了其強(qiáng)大的性能,同時(shí)又以 .NET 框架類庫作為基礎(chǔ),擁有類似 Visual Basic 的快速開發(fā)能力。 C#由安德斯海爾斯伯格 主持開發(fā),微軟在 2000 年發(fā)布了這種語言。 C#看起來與 Java 有著驚人的相似 ;它包括了諸如單一繼承,界面,與 Java 幾乎同樣的語法 ,和編譯成中間代碼再運(yùn)行的過程 .但是C#與 Java 有著明顯的不同 ,它借鑒了 Delphi 的一個(gè)特點(diǎn) ,與 COM(組件對(duì)象模型 )是直接集成的,而且它是微軟公司 .NET windows 網(wǎng)絡(luò)框架的主角 . 其特性:(1)語言特性相對(duì)于 C 和 C+,這個(gè)語言在許多方面進(jìn)行了限制和增強(qiáng)

9、:指針(Pointer)只能被用于不安全模式。大多數(shù)對(duì)象訪問通過安全的引用實(shí)現(xiàn),以避免無效的調(diào)用,并且有許多算法用于驗(yàn)證溢出,指針只能用于調(diào)用值類型,以及受垃圾收集控制的托管對(duì)象。對(duì)象不能被顯式釋放,代替為當(dāng)不存在被引用時(shí)通過垃圾回收器回收。只允許 單一繼承(single inheritance) ,但是一個(gè)類可以實(shí)現(xiàn)多個(gè)接口(interfaces) 。C#比 C+更加類型安全。默認(rèn)的安全轉(zhuǎn)換是 隱含轉(zhuǎn)換,例如由短整型轉(zhuǎn)換為長(zhǎng)整型和從派生類轉(zhuǎn)換為基類。而接口布爾型同整型,及枚舉型同整型不允許隱含轉(zhuǎn)換,非空指針(通過引用相似對(duì)象)同用戶定義類型的隱含轉(zhuǎn)換必段被顯式的確定,不同于 C+的復(fù)制構(gòu)造函

10、數(shù)。數(shù)組聲明語法不同( int a = new int5 而不是 int a5) 。枚舉位于其所在的 命名空間中。C#中沒有模版(Template) ,但是在 C# 2.0 中引入了泛型(Generic programming) ,并且支持一些 C+模版不支持的特性。比如泛型參數(shù)中的類型約束。另一方面,表達(dá)式不能像 C+模版中被用于類型參數(shù)。 屬性支持,使用類似訪問成員的方式調(diào)用。完整的 反射支持。(2)泛型泛型,或參數(shù)化類型,是被 C#支持的.NET 2.0 特性。不同于 C+模版,.NET 參數(shù)化類型是在運(yùn)行時(shí)被實(shí)例化,而不是編譯時(shí),因此它可以跨語言,而C+模版卻不行。它支持的一些特性并不

11、被C+模版直接支持,比如約束泛型參數(shù)實(shí)現(xiàn)一個(gè)接口。另一方面, C# 不支持無類型的泛型參數(shù)。不像 Java 中的泛型,在CLI 虛擬機(jī)中, .NET generics 使用 具化 生成泛型參數(shù),它允許優(yōu)化和保存類型信息。(3)靜態(tài)類靜態(tài)類它不能被實(shí)例化,并且只能有靜態(tài)成員。這同很多過程語言中的模塊概念相類似。(4)兩個(gè)基本類分部方法允許代碼生成器生成方法聲明作為擴(kuò)展點(diǎn),如果有人在另一個(gè)部分類實(shí)現(xiàn)了它才會(huì)被包含于原代碼編譯。分部方法 (Partial methods) 必須定義在分部類 (2partial classes) 中。定義分部方法 需要用 partial 做修飾符。分部方法不一定總是有

12、執(zhí)行內(nèi)容的,也就是說定義的方法 可以一句操作語句都沒有 。分部方法返回值必須是 void。分部方法可以是靜態(tài) (static) 方法。分部方法可以包含參數(shù),參數(shù)可以包含以下修飾詞 :this,ref,params。分部方法必須是私有 (private) 方法(5)Linq語言集成查詢 (英語:Language Integrated Query,縮寫:LINQ):5 上下文相關(guān)關(guān)鍵字 from, where, select 可用于查詢 SQL、XML、集合等。這些標(biāo)識(shí)符在 LINQ 上下文中被作為關(guān)鍵字,但是它們的增加不會(huì)破壞原有的名為from、where 或 select 的變量。(6)程序的

13、執(zhí)行C#并不被編譯成為能夠直接在 計(jì)算機(jī)上執(zhí)行的二進(jìn)制本地代碼。與 Java 類似,它被編譯成為中間代碼 (Microsoft Intermediate Language),然后通過 .NET Framework 的虛擬機(jī)被稱之為通用語言運(yùn)行庫 (Common Language Runtime)執(zhí)行。所有的.Net 編程語言都被編譯成這種被稱為 MSIL(Microsoft Intermediate Language )的中間代碼。因此雖然最終的 程序在表面上仍然與傳統(tǒng)意義上的可執(zhí)行文件都具有 “.exe”的后綴名。但是實(shí)際上,如果計(jì)算機(jī)上沒有安裝 .Net Framework,那么這些程序?qū)?/p>

14、不能夠被執(zhí)行。在程序執(zhí)行時(shí), .Net Framework 將中間代碼翻譯成為二進(jìn)制機(jī)器碼,從而使它得到正確的運(yùn)行。最終的二進(jìn)制代碼被存儲(chǔ)在一個(gè)緩沖區(qū)(Buffer)中。所以一旦程序使用了相同的代碼,那么將會(huì)調(diào)用緩沖區(qū)中的版本。這樣如果一個(gè).Net程序第二次被運(yùn)行,那么這種翻譯不需要進(jìn)行第二次,速度明顯加快。(7)索引下標(biāo)標(biāo)準(zhǔn)化一個(gè)索引與屬性除了不使用屬性名來引用類成員而是用一個(gè)方括號(hào)中的數(shù)字來匿名引用(就象用數(shù)組下標(biāo)一樣 )以外是相似的 . 可以用一個(gè)循環(huán)器來匿名引用字符串內(nèi)部數(shù)組成員 .微軟公司已經(jīng)向 ECMA 申請(qǐng)將 C#作為一種標(biāo)準(zhǔn)。在 2001 年 12 月,ECMA 發(fā)布了 ECM

15、A-334 C#語言規(guī)范。C#在 2003 年成為一個(gè) ISO 標(biāo)準(zhǔn)(ISO/IEC 23270) 。現(xiàn)在有一些獨(dú)立的實(shí)現(xiàn)正在進(jìn)行,包括: 自由軟件基金會(huì) 的 dotGNU Portable.NET、Mono、Baltie - C# IDE for children and young Baltie(8)編譯器C# 有 5 個(gè)著名的編譯器( compilers):最標(biāo)準(zhǔn)的 C# 的實(shí)現(xiàn)當(dāng)屬微軟自己推出、并被包含在 .NET Framework 內(nèi)的 C# 編譯器。微軟的 Rotor 項(xiàng)目(Rotor Project) (目前稱為 Shared Source Common Language In

16、frastructure) ,提供了 通用語言運(yùn)行庫 (Common Language Runtime)的實(shí)現(xiàn)與 c# 編譯器。由 Novell 贊助的 Mono 項(xiàng)目提供了 C# 編譯器,同時(shí)也接近百分之百地實(shí)現(xiàn)了.NET Framework 類庫。3Dot GNU 項(xiàng)目也提供了另一個(gè)自由版本的 C# 編譯器, 也提供了.NET Framework 類庫的實(shí)現(xiàn)。Borland 提供了項(xiàng)目級(jí)的 C# 集成開發(fā)環(huán)境,內(nèi)部所使用的編譯器仍是 微軟.NET Framework 所提供的 C# 編譯器(這也意味著你仍須安裝 微軟的.NET Framework) 。產(chǎn)品: C# Builder(商業(yè)版本

17、) ,Turbo C# Explorer(免費(fèi)版本)。2.2.22.2.2編程語言的選擇C# 無疑是這個(gè)星球上有史以來最好的編程語言,它幾乎集中了所有關(guān)于軟件開發(fā)和軟件工程研究的最新成果。面向?qū)ο?、類型安全、組件技術(shù)、自動(dòng)內(nèi)存管理、跨平臺(tái)異常處理、版本控制、代碼安全管理 你不可能在另外的一種語言中找到所有這些特性。 C# 和 JAVA 一樣,簡(jiǎn)直就是照搬了 C+的部分語法,用 C# 開發(fā)應(yīng)用軟件可以大大縮短開發(fā)周期,同時(shí)可以利用原來除用戶界面代碼之外的C+代碼。2.2.32.2.3數(shù)據(jù)庫服務(wù)器的選擇該網(wǎng)站的數(shù)據(jù)庫選擇 Microsoft 公司出的 SQL Server 2005,該數(shù)據(jù)庫具有高

18、可用性,SQL Server 2005 的失敗轉(zhuǎn)移集群和數(shù)據(jù)庫鏡像技術(shù)確保企業(yè)向員工、客戶和合作伙伴提交高度可靠和可用的應(yīng)用系統(tǒng);管理工具則引進(jìn)了一套集成的管理工具和管理應(yīng)用編程接口(APIs) ,以提供易用性、可管理性、及對(duì)大型 SQL Server 配置的支持;通過數(shù)據(jù)庫加密、更加安全的默認(rèn)設(shè)置、加強(qiáng)的密碼政策和細(xì)化許可控制、及加強(qiáng)的安全模型等特性,為企業(yè)數(shù)據(jù)提供最高級(jí)別的安全性。安全性增強(qiáng);可伸縮性的先進(jìn)性包括表格分區(qū)、復(fù)制能力的增強(qiáng)和 64 位支持。較為良好。SQL Server 2005 通過在可伸縮性、數(shù)據(jù)集成、開發(fā)工具和強(qiáng)大的分析等方面的革新更好的確立了微軟在 BI 領(lǐng)域的領(lǐng)導(dǎo)地

19、位。SQL Server 2005 能夠把關(guān)鍵的信息及時(shí)的傳遞到組織內(nèi)員工的手中,從而實(shí)現(xiàn)了可伸縮的商業(yè)智能。從 CEO 到信息工作者,員工可以快速的、容易的處理數(shù)據(jù),以更快更好的做出決策。SQL Server 2005 全面的集成、分析和報(bào)表功能使企業(yè)能夠提高他們已有應(yīng)用的價(jià)值,即便這些應(yīng)用是在不同的平臺(tái)上。其服務(wù)器強(qiáng)大的性能和完備的功能已能得到大眾的認(rèn)可。且開發(fā)該網(wǎng)站所用的開發(fā)工具、開發(fā)語言、Web 服務(wù)器等都是 Microsoft 公司的產(chǎn)品,所以選擇 Microsoft SQL Server 2005 作為該系統(tǒng)的數(shù)據(jù)庫服務(wù)器。43.模塊分析及總體設(shè)計(jì)3.1模塊需求此系統(tǒng)主要供學(xué)??蒲?/p>

20、工作者使用,其中報(bào)表分析、年度報(bào)表模塊主要包括以下用戶界面:報(bào)表分析:論文/專著等一覽表、研究項(xiàng)目/課題一覽表、教材成果一覽表、著作成果一覽表等年度報(bào)表:年度報(bào)表、年度工作、個(gè)人報(bào)表3.1.1 模塊結(jié)構(gòu)分析模塊結(jié)構(gòu)圖如下圖 3-1 所示:研究項(xiàng)目/課題一覽表報(bào)表分析用戶界面論文/專著等一覽表教材成果一覽表查詢導(dǎo)出著作成果一覽表導(dǎo)出查詢導(dǎo)出查詢查詢導(dǎo)出年度報(bào)表用戶界面年度報(bào)表個(gè)人報(bào)表打印導(dǎo)出word導(dǎo)出Excel查詢查詢科研項(xiàng)目科研成果科研活動(dòng)年度工作查詢導(dǎo)出word導(dǎo)出Excel打印5圖 3-13.1.2功能描述報(bào)表分析:(1) 論文/專著等一覽表:將各院系的論文/專著使用列表形式展示,使科研

21、工作人員有選擇性的查看其想要的論文/專著內(nèi)容。并有導(dǎo)出、查詢操作。(2) 研究項(xiàng)目/課題一覽表:將各院系的研究項(xiàng)目/課題使用列表形式展示,方便科研工作人員查看歷年的研究項(xiàng)目/課題信息。并有導(dǎo)出、查詢操作。(3) 教材成果一覽表:將各院系的教材成果進(jìn)行匯總,去除重復(fù)的數(shù)據(jù),并通過列表形式展示,并有導(dǎo)出、查詢操作。(4) 著作成果一覽表:以列表的形式將著作成果顯示,方便用戶查看,同時(shí)可對(duì)其進(jìn)行導(dǎo)出、查詢操作。年度報(bào)表:(1) 年度報(bào)表:將各院系的教師的科研情況進(jìn)行匯總,方便科研工作者查看,同時(shí)具有打印、導(dǎo)出 Word、導(dǎo)出 Excel、查詢功能,科研工作者可以將選定的年度科研信息備份成文檔。(2)

22、 年度工作:通過該界面可以將個(gè)人的科研工作進(jìn)行年度工作匯總,并支持打印導(dǎo)出功能。(3) 個(gè)人報(bào)表:此用戶界面主要用于查詢當(dāng)前用戶一年內(nèi)的科研項(xiàng)目、科研成果、科研活動(dòng)信息。3.1.3 功能模塊詳細(xì)描述(1)登入界面程序啟動(dòng)后,進(jìn)入用戶登陸界面。用戶登錄頁面包括用戶名稱和用戶口令的文本輸入框,確定按鈕。輸入正確用戶名稱和用戶口令,只有經(jīng)驗(yàn)證身份成功后,才進(jìn)入我的主頁的功能,通過導(dǎo)航菜單,繼而可進(jìn)行具體模塊的操作。 (2) 報(bào)表分析模塊展示所有的報(bào)表數(shù)據(jù),根據(jù)自己的意愿進(jìn)行相應(yīng)的操作。6 (3) 年度報(bào)表模塊顯示所有教師的年度科研工作,教師需有這項(xiàng)的權(quán)限才可以進(jìn)行各項(xiàng)具體的操作。3.2系統(tǒng)開發(fā)工具3

23、.2.1系統(tǒng)開發(fā)所用技術(shù)C#:C#是微軟推出的一種基于.NET 框架的、面向?qū)ο蟮母呒?jí)編程語言。C#由 C語言和 C+派生而來,繼承了其強(qiáng)大的性能,同時(shí)又以.NET 框架類庫作為基礎(chǔ),擁有類似 Visual Basic 的快速開發(fā)能力。此次修改系統(tǒng)的.NET 框架是用.NET Framework 3.5。這個(gè)版本將包含一個(gè)支持 C#和 VB.Net 中心的語言特性的編譯器,以及對(duì)語言整合查詢(LINQ, Language-Integrated Query)的支援。.NET 框架是以一種采用系統(tǒng)虛擬機(jī)運(yùn)行的編程平臺(tái),以通用語言運(yùn)行庫(Common Language Runtime)為基礎(chǔ),支援多

24、種語言(C#、VB.NET、C+、Python 等)的開發(fā)。SQL:SQL 全名是結(jié)構(gòu)化查詢語言(Structured Query Language) ,是用于數(shù)據(jù)庫中的標(biāo)準(zhǔn)數(shù)據(jù)查詢語言,IBM 公司最早使用在其開發(fā)的數(shù)據(jù)庫系統(tǒng)中。其功能強(qiáng)大,簡(jiǎn)單易學(xué),自從推出以來,得到了廣泛的應(yīng)用,如今大多數(shù)的數(shù)據(jù)庫管理系統(tǒng)都支持SQL。JavaScript:使用 JavaScript(客戶端腳本語言)實(shí)現(xiàn)客戶端快速響應(yīng)的要求以及網(wǎng)頁添加動(dòng)態(tài)功能。XML:使用 XML 作為少量數(shù)據(jù)的存儲(chǔ)。CSS:使用 CSS 來控制網(wǎng)站的統(tǒng)一界面風(fēng)格,方便修改。Pet.shop 的三層架構(gòu):使用分層架構(gòu)來提高代碼的可讀性和

25、可重用性。3.2.2運(yùn)行環(huán)境Microsoft Visual Studio 2005SQL Server 2005IIS 或 IE6.0 瀏覽器4.模塊開發(fā)設(shè)計(jì)4.1開發(fā)框架的設(shè)計(jì)71項(xiàng)目概述與架構(gòu)分析 微軟剛推出了基于 ASP.NET 2.0 下的 Pet Shop 4, 該版本有了一個(gè)全新的用戶界面。是研究 ASP.NET 2.0 的好范例,一直以來,在.NET 和 Java 之間爭(zhēng)論不休,到底使用哪個(gè)平臺(tái)開發(fā)的企業(yè)級(jí)應(yīng)用性能最好、結(jié)構(gòu)最優(yōu)、生產(chǎn)力最高。為了用事實(shí)說話,通過對(duì)項(xiàng)目各方面的性能評(píng)估進(jìn)而在比較.NET 和 Java 的高下。用戶做比較的這個(gè)項(xiàng)目就是 Petshop。正因?yàn)?Pe

26、tshop 肩負(fù)著上面所說的重任,各方面必須是最優(yōu)的,架構(gòu)設(shè)計(jì)應(yīng)該是經(jīng)過慎重考慮的。所以其一經(jīng)推出,便成為了開發(fā)者、架構(gòu)師等人學(xué)習(xí)、研究的典范。微軟推薦的分層式結(jié)構(gòu)一般分為三層,從下至上分別為:數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層(又或成為領(lǐng)域?qū)樱?、表示層,日前微軟推出了基于.NET Framework 2.0 開發(fā)的 Petshop 4。新的 Petshop4 實(shí)現(xiàn)了與 Petshop 3 相同甚至更多的特性,由于采用了 Master Pages,Membership,以及 Profile,SqlCacheDependency,但是代碼量卻減少了四分之一。同時(shí),在事務(wù)、數(shù)據(jù)緩存、安全方面使用了.NET

27、2.0 附帶的特性,構(gòu)建了一個(gè)靈活的最佳實(shí)踐的應(yīng)用程序。所以此系統(tǒng)選擇模擬 Pet Shop 框架進(jìn)行完善系統(tǒng)的構(gòu)建。Pet Shop 利用了 Project Conversion Wizard 把項(xiàng)目從 ASP.NET 1.1 移植到了ASP.NET 2.0,然后做了以下改動(dòng):1用 System.Transactions 代替了原來的 Serviced Components 提供的事務(wù)功能代碼實(shí)現(xiàn):PetShop.BLL.OrderSynch 的 publicvoid Insert(PetShop.Model.OrderInfo order)。2用強(qiáng)類型的范型集合代替了原來的弱類型集合 pu

28、blicIList GetProductsByCategory(string category) / Return new if the string is empty if (string.IsNullOrEmpty(category) returnnewList(); / Run a search against the data store return dal.GetProductsByCategory(category); 83采用 ASP.NET 2.0 Membership 來做認(rèn)證和授權(quán)4創(chuàng)建了針對(duì) Oracle 10g 的 Custom ASP.NET 2.0 Members

29、hip Provider5利用 ASP.NET 2.0 的 Custom Oracle 和 SQL Server Profile Providers 做用戶狀態(tài)管理,包括購(gòu)物車等6采用了 Master Pages,取代了原來的用戶控件,來實(shí)現(xiàn)統(tǒng)一的界面效果7使用了 ASP.NET 2.0 Wizard 控件實(shí)現(xiàn) check-out 8使用了 SqlCacheDependency 來實(shí)現(xiàn)數(shù)據(jù)庫層次的緩存更新(cache invalidation)功能9使用了消息隊(duì)列來實(shí)現(xiàn)異時(shí)訂單處理。 2.整體架構(gòu):項(xiàng)目列表:從整體可以看出,Pet Shop 4 的項(xiàng)目體系已經(jīng)很龐大,考慮的方面也較 3.0 更

30、全面復(fù)雜。序號(hào)序號(hào)項(xiàng)目名稱項(xiàng)目名稱描述描述1BLL表示層2CacheDependencyFactory業(yè)務(wù)實(shí)體3WEB業(yè)務(wù)邏輯層4DALFactory數(shù)據(jù)層的抽象工廠5DBUtilty數(shù)據(jù)訪問層接口定義6IBLLStrategySQL Server 數(shù)據(jù)訪問層7ICacheDependencyOracle 數(shù)據(jù)訪問層8IDAL數(shù)據(jù)庫訪問組件基礎(chǔ)類9IMessaging緩存依賴類的工廠類10IProfileDAL緩存依賴接口11Membership緩存依賴實(shí)現(xiàn)類12MessagingFactory同步、異步處理策略接口(實(shí)現(xiàn)在 BLL 根據(jù)配置反射選擇)13Model異時(shí)處理消息列隊(duì)的抽象工廠1

31、4MSMQMessaging異時(shí)處理消息列隊(duì)接口定義15OracleDAL異時(shí)處理消息列隊(duì)的實(shí)現(xiàn)16OracleProfileDALProfile 的數(shù)據(jù)訪問層17OrderProcessorProfileDAL 的工廠類18ProfileProfileDAL 的數(shù)據(jù)訪問層接口定義19ProfileDALFactoryOracle 的 Profile Provider 做用戶狀態(tài)管理20SQLProfileDALSQL Server 的 Profile Provider 做用戶狀態(tài)管理21SQLServerDALMembership 認(rèn)證和授權(quán)管理22TableCacheDependency后

32、臺(tái)處理進(jìn)程,處理訂單列隊(duì)項(xiàng)目分解:9由于整體已經(jīng)有 22 個(gè)項(xiàng)目,所以,對(duì)于初學(xué)者不易接受,經(jīng)分解,可以大體上分幾塊去理解。序號(hào)序號(hào)項(xiàng)目名稱項(xiàng)目名稱描述描述1WEB業(yè)務(wù)邏輯層2Model緩存依賴類的工廠類3BLL表示層4DALFactory數(shù)據(jù)層的抽象工廠5IDAL數(shù)據(jù)訪問類組建6SQLServerDAL同步、異步處理策略接口7OracleDAL緩存依賴類接口8DBUtilty數(shù)據(jù)訪問層接口定義9CacheDependencyFactory異時(shí)處理消息列隊(duì)接口定義10ICacheDependencyProfileL 的數(shù)據(jù)訪問層接口定義11TableCacheDependencyMembers

33、hip 認(rèn)證和授權(quán)管理12IBLLStrategy異時(shí)處理消息列隊(duì)的抽象工廠13MessagingFactory業(yè)務(wù)實(shí)體14IMessaging異時(shí)處理消息列隊(duì)的實(shí)現(xiàn)15MSMQMessagingOracle 數(shù)據(jù)訪問層16ProfileOracle 的 Profile Provider 做用戶狀態(tài)管理17ProfileDALFactory后臺(tái)處理進(jìn)程,處理訂單列隊(duì)18IProfileDALProfile 的數(shù)據(jù)訪問層19OracleProfileDALProfileDAL 的工廠類20SQLProfileDALSQL Server 的 Profile Provider 做用戶狀態(tài)管理21Me

34、mbershipSQL Server 數(shù)據(jù)訪問層22OrderProcessor緩存依賴實(shí)現(xiàn)類3Petshop 4 中的設(shè)計(jì)模式:工廠模式: :首當(dāng)其沖的就是工廠模式,很容易就可以看出來,也是應(yīng)用最多的。DALFactory:數(shù)據(jù)訪問層的抽象工廠(決定創(chuàng)建哪種數(shù)據(jù)庫類型的數(shù)據(jù)訪問層??梢赃x擇:SQLServer,Oracle)CacheDependencyFactory:緩存依賴類的工廠類。 (創(chuàng)建具體表的緩存依賴)MessagingFactory :異時(shí)處理消息隊(duì)列的抽象工廠(反射創(chuàng)建具體的異時(shí)處理類)ProfileDALFactory:ProfileDAL 的工廠類(反射選擇創(chuàng)建 Orac

35、le 和 SQL Server 的 ProfileDAL) 策略模式: :IorderStrategy 中介模式CategoryDataProxy ItemDataProxy ProductDataProxy104.1.1模型設(shè)計(jì)在 SQL Server 2005 中建立 KyMis 數(shù)據(jù)庫,并在數(shù)據(jù)庫上創(chuàng)建Tab_IncomeAndExpenditure 表,Tab_IncomeAndExpenditure_Item 表,Tab_CustomerBilling 表,Tab_CustomerBilling 表,Tab_EmployeeBilling 表,Tab_EmployeeBilling_

36、Income 表并設(shè)計(jì)相應(yīng)的數(shù)據(jù)模型;4.1.2控制器設(shè)計(jì)通過 IIS 可瀏覽主界面,根據(jù)客戶的請(qǐng)求來操作模型,并把模型的響應(yīng)結(jié)果由用戶界面展現(xiàn)給客戶4.1.3視圖設(shè)計(jì)系統(tǒng)模塊開發(fā)中所用到的 C#控件顯示頁面和后臺(tái)代碼4.2數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是項(xiàng)目開發(fā)中非常重要的一個(gè)環(huán)節(jié),它是整個(gè)項(xiàng)目的根基,如果設(shè)計(jì)不好,在后來的系統(tǒng)開發(fā),維護(hù),變更和功能擴(kuò)充時(shí),將會(huì)遇到非常大的困難,大量工作可能需要重新進(jìn)行。4.2.1數(shù)據(jù)庫表設(shè)計(jì)的準(zhǔn)則數(shù)據(jù)庫設(shè)計(jì)一個(gè)表最好只存儲(chǔ)一個(gè)實(shí)體或?qū)ο蟮南嚓P(guān)信息,不同的實(shí)體最好存儲(chǔ)在不同的數(shù)據(jù)表中,如果實(shí)體還可以再劃分,實(shí)體的劃分原則是最好能夠比當(dāng)前系統(tǒng)要開發(fā)的實(shí)體的顆粒度要?。粩?shù)

37、據(jù)庫表的信息結(jié)構(gòu)一定要合適,表的字段的數(shù)量一定不要過多;擴(kuò)充信息和動(dòng)態(tài)變化的信息一定要分開在不同的表里;對(duì)于出現(xiàn)多對(duì)多這樣的表關(guān)系系統(tǒng),盡量不出現(xiàn)。4.2.2數(shù)據(jù)庫表的設(shè)計(jì)表 4-1 論文/專著等一覽表 Tab_Disquisition序序號(hào)號(hào)列名列名數(shù)據(jù)類型數(shù)據(jù)類型長(zhǎng)度長(zhǎng)度小數(shù)小數(shù)位位標(biāo)標(biāo)識(shí)識(shí)主主鍵鍵允許允許空空默認(rèn)值說明說明1OIDuniqueidentifier160是否Id2DisquisitionIDvarchar320否3Kindvarchar160否4Titlevarchar2560否成果名稱5Publicationsvarchar2560否6Levelvarchar160是刊物

38、11級(jí)別7VolumeNovarchar640是卷號(hào)8Periodvarchar640是期號(hào)9PublishingDatedatetime83是發(fā)表/出版時(shí)間10WordLengthfloat80是字?jǐn)?shù)11KnowledgeClassvarchar160是學(xué)科門類12FirstKnowledgevarchar160是一級(jí)學(xué)科13Sourcevarchar160是成果來源14PublishingRangevarchar160是發(fā)表范圍15ISSNvarchar640是16CNvarchar640是17OrgIDuniqueidentifier160是18AuthorNamevarchar2560

39、是19FlagApproveint40是20SysEmplIDuniqueidentifier160否21SysDateTimedatetime83否22FlagSchoolint40是23ApproveCommentsvarchar5000是24SystemTypeint40是25disNamevarchar1000是表 4-2 研究項(xiàng)目/課題一覽表 Tab_Project序序號(hào)號(hào)列名列名數(shù)據(jù)類型數(shù)據(jù)類型長(zhǎng)度長(zhǎng)度小數(shù)小數(shù)位位標(biāo)標(biāo)識(shí)識(shí)主主鍵鍵允許允許空空默認(rèn)默認(rèn)值值說明說明1OIDuniqueidentifier160是否2ProjectIDvarchar320否項(xiàng)目編號(hào)3Namevarcha

40、r2560否項(xiàng)目名稱4Principaluniqueidentifier160否5Typevarchar160否項(xiàng)目性質(zhì)6Kindvarchar160否項(xiàng)目級(jí)別7Statevarchar160否項(xiàng)目狀態(tài)8Focusvarchar160否9SourceUnitvarchar640是10UnitOrdervarchar160是承擔(dān)單位排名11CreateDatedatetime83否立項(xiàng)時(shí)間12BeginDatedatetime83是開始時(shí)間1213PlanFinishDatedatetime83否計(jì)劃完成日期14FinishDatedatetime83是結(jié)束時(shí)間15Resultvarchar64

41、0是16ContractAmountfloat80否上級(jí)撥款17SupportAmountfloat80是校內(nèi)配套經(jīng)費(fèi)18KnowledgeClassvarchar160否項(xiàng)目類別19KnowledgeKindvarchar160否學(xué)科分類20ResearchKindvarchar160否21Remarktext160是備注22ApplyIDuniqueidentifier160是23SysEmplIDuniqueidentifier160否24SysDateTimedatetime83否25FlagKindvarchar10是26Membervarchar2560是27ApproveComm

42、entsvarchar5000是28SystemTypeint40是表 4-3 研究項(xiàng)目/課題人員信息表 Tab_Project_Empl序序號(hào)號(hào)列名列名數(shù)據(jù)類型數(shù)據(jù)類型長(zhǎng)度長(zhǎng)度小數(shù)小數(shù)位位標(biāo)標(biāo)識(shí)識(shí)主主鍵鍵允許允許空空默認(rèn)默認(rèn)值值說明說明1OIDuniqueidentifier160是否2ProjectIDuniqueidentifier160否項(xiàng)目id3SourceKindvarchar160否4DeptIDuniqueidentifier160是部門id5EmployeeIDuniqueidentifier160是人員id6DeptNamevarchar2560是部門名稱7Employee

43、Namevarchar320是人員名稱8Directionvarchar160是9Sexvarchar20是10Titlevarchar160是11Educationvarchar160是12SignOrderint40是署名順序13ContributeRatefloat80是14WorkCountint40是15Rolevarchar160是13表 4-4 教材成果一覽表 Tab_Book序序號(hào)號(hào)列名列名數(shù)據(jù)類型數(shù)據(jù)類型長(zhǎng)度長(zhǎng)度小數(shù)小數(shù)位位標(biāo)標(biāo)識(shí)識(shí)主主鍵鍵允許允許空空默認(rèn)默認(rèn)值值說明說明1OIDuniqueidentifier160是否2IDvarchar320否3Titlevarchar2

44、560否教材名稱4PublishUnitvarchar2560是出版單位5PublishAddressvarchar160是出版地6PublishDatedatetime83是出版時(shí)間7SchoolSignvarchar160是教材類別8Kindvarchar160是教材類別9WordLengthfloat80是 總字?jǐn)?shù)10ChapterNumberint40是參與章數(shù)11KnowledgeClassvarchar160是學(xué)科門類12FirstKnowledgevarchar160是一級(jí)學(xué)科13FlagTranslatebit10是14Languagevarchar160是語種15Source

45、varchar160是16ISBNvarchar640是17Resumetext160是18AuthorCountint40是19OrgIDuniqueidentifier160是20AuthorNamevarchar2560是21FlagApproveint40是22SysEmplIDuniqueidentifier160否23SysDateTimedatetime83否24Remarktext160是25ApproveCommentsvarchar5000是26SystemTypeint40是27RoleNamevarchar300是主編姓名表 4-5 教材成果人員表 Tab_Book_A

46、uthor序序號(hào)號(hào)列名列名數(shù)據(jù)類型數(shù)據(jù)類型長(zhǎng)長(zhǎng)度度小數(shù)小數(shù)位位標(biāo)標(biāo)識(shí)識(shí)主主鍵鍵允許允許空空默認(rèn)默認(rèn)值值說明說明1OIDuniqueidentifier160是否Id2BookIDuniqueidentifier160否教材id143AuthorKindvarchar160是4SignOrderint40否署名順序5Authoruniqueidentifier160否作者6Rolevarchar160否擔(dān)當(dāng)角色7WordLengthfloat80是8ContributeRatefloat80否9Remarktext160是表 4-6 教材成果匯總表 Tab_reportbooks序號(hào)序號(hào)列名列名

47、數(shù)據(jù)類型數(shù)據(jù)類型長(zhǎng)度長(zhǎng)度小數(shù)位小數(shù)位標(biāo)識(shí)標(biāo)識(shí)主鍵主鍵允許空允許空默認(rèn)值默認(rèn)值說明說明1titlevarchar20000否是是教材名稱2AuthorNamevarchar50000否否是編著者姓名3Kindvarchar2000否否是教材類別4PublishUnitvarchar2000否否是出版單位5PublishDatevarchar1000否否是出版時(shí)間6Remarkvarchar80000否否是備注155.系統(tǒng)設(shè)計(jì)5.1 首頁登錄界面只有當(dāng)用戶輸入正確的口令和密碼時(shí)才顯示主頁面。主頁面中包括綜合辦公、科研機(jī)構(gòu)、科研人員、科研項(xiàng)目、科研經(jīng)費(fèi)、科研成果、科研活動(dòng)、報(bào)表分析、科研考核、科研審

48、核、科研統(tǒng)計(jì)、年度報(bào)表、科研設(shè)置等模塊。點(diǎn)擊我所負(fù)責(zé)的報(bào)表分析或年度報(bào)表,可以在左邊出現(xiàn)相應(yīng)的子模塊,右邊則是子模塊相應(yīng)的界面,我們可以通過該界面進(jìn)行各種操作。5.2 報(bào)表分析報(bào)表分析模塊下主要包括的子模塊有:論文/專著一覽表、研究項(xiàng)目/課題一覽表、教材成果一覽表、著作成果一覽表等,接下來將會(huì)著重介論文/專著一覽表。165.2.1論文/專著一覽表(列表)結(jié)構(gòu)思路及主要代碼:去除列表中的查詢條件,增加查詢按鈕,以及查詢頁面。先拖動(dòng)工具箱中的按鈕到Report_DisquisionList.aspx頁面,分別將值設(shè)為查詢、導(dǎo)出。其中查詢按鈕功能實(shí)現(xiàn)的是轉(zhuǎn)到查詢頁面。在此主要是通過javascrip

49、t腳本語言實(shí)現(xiàn)的,其關(guān)鍵代碼如下: function Search() location=Report_DisquisionSearch.aspx; 用location=Report_DisquisionSearch.aspx;即可定位到查詢頁面,其中Report_DisquisionSearch.aspx是查詢界面。修改后支持更多的查詢條件,如作者姓名、所屬單位、刊物級(jí)別等等查詢條件。在查詢條件代碼實(shí)現(xiàn)如下: protected void btnSearch_Click(object sender, EventArgs e) string strQuery = string.Empty;if

50、 (this.txtAuthor.Text != )/作者姓名 strQuery += &AuthorName= + his.txtAuthor.Text.Trim(); if (this.ddlOrgID.SelectedValue != )/所屬單位 strQuery += &OrgID= + this.ddlOrgID.SelectedValue; if (this.ddlLevel.SelectedValue != )/刊物級(jí)別 strQuery += &Level= + this.ddlLevel.SelectedValue;17 if (strQuery.Length 0) str

51、Query = strQuery.Substring(1);/返回列表頁面 Response.Redirect(Report_DisquisionList.aspx? + strQuery, true);在列表頁面的Report_DisquisionList.aspx.cs接收查詢條件,然后查詢數(shù)據(jù),最后顯示在列表中,代碼實(shí)現(xiàn)如下: private void ShowData() /這段有改動(dòng) string strQuery = string.Empty;if (RequestAuthorName != null & RequestAuthorName != ) strQuery += and

52、 A.AuthorName like % + RequestAuthorName + %;/作者姓名 if (Request.QueryStringOrgID != null & Request.QueryStringOrgID != ) strQuery += and A.OrgID like % + Request.QueryStringOrgID + %;/所屬單位 string strSQL = select A.Title,A.AuthorName,C.Name Source,D.Name Kind,A.Cn,A.Period,A.Publications,Convert(varch

53、ar(10),A.PublishingDate,120) PublishingDate from Tab_Disquisition A left join Tab_CodeLibrary_Item B on A.KnowledgeClass=B.ID and B.CodeLibraryID=KnowledgeClass left join Tab_CodeLibrary_Item C on A.Source=C.ID and C.CodeLibraryID=Source left join Tab_CodeLibrary_Item D on A.Kind=D.ID and D.CodeLibr

54、aryID=DisquisionKind where 1=1 + strQuery; strSQL += order by A.PublishingDate desc,A.OrgID desc,A.Kind desc,A.Publications desc ; objDataTable = Comm.ExecuteDataTable(strSQL); objDataTable.Columns.Add(infoNo); for (int i = 0; i objDataTable.Rows.Count; i+) objDataTable.RowsiinfoNo = i + 1; this.Dat

55、aGridList.DataSource = objDataTable; this.DataGridList.DataBind();/綁定數(shù)據(jù) 導(dǎo)出功能:點(diǎn)擊列表中的導(dǎo)出按鈕,調(diào)用導(dǎo)出的方法,代碼如下:protected void BtnExp_Click(object sender, EventArgs e) EnterpriseService.ExportService.ToExcel(Report.xls, this.DataGridList); /將當(dāng)前列表中的數(shù)據(jù)導(dǎo)出(this.DataGridList數(shù)據(jù)源)18 5.3 年度報(bào)表年度報(bào)表模塊主要包括的子模塊有:年度報(bào)表、個(gè)人報(bào)表、

56、年度工作,如圖5.3.1所示: 5.3.1 年度報(bào)表年度報(bào)表也是通過綁定數(shù)據(jù)庫將選定年度科研工作信息展示給用戶,其基本信息包括:姓名、職 稱、單位和從事專業(yè)、科研考核得分等,該用戶界面包括的查功能、導(dǎo)出Word、導(dǎo)出Excel、打印功能。 圖 5.3.1結(jié)構(gòu)思路及主要代碼:首先需要在ReportPersonalYear.aspx源程序中用javascript實(shí)現(xiàn)導(dǎo)出Word、Excel、打印功能。其代碼如下: function AllAreaExcel()/指定頁面區(qū)域內(nèi)容導(dǎo)入Excel var oXL = new ActiveXObject(Excel.Application); var o

57、WB = oXL.Workbooks.Add(); var oSheet = oWB.ActiveSheet; var sel=document.body.createTextRange(); sel.moveToElementText(PrintA); sel.select(); sel.execCommand(Copy); oSheet.Paste(); oXL.Visible = true; function AllAreaWord()/指定頁面區(qū)域內(nèi)容導(dǎo)入Word19 if(document.all(PrintA).rows.length=0) alert(沒有內(nèi)容可導(dǎo)!); retu

58、rn; try var oWD = new ActiveXObject(Word.Application); catch(e) alert(無法調(diào)用Office對(duì)象,請(qǐng)確保您的機(jī)器已安裝了Office并已將本系統(tǒng)的站點(diǎn)名加入到IE的信任站點(diǎn)列表中!); return; var oDC = oWD.Documents.Add(,0,1); var oRange =oDC.Range(0,1); var sel = document.body.createTextRange(); sel.moveToElementText(PrintA); /tab 為導(dǎo)出數(shù)據(jù)所在的表格ID sel.select

59、(); sel.execCommand(Copy); oRange.Paste(); oWD.Application.Visible = true; function preview() var bdhtml=window.document.body.innerHTML;/獲取當(dāng)前頁的html代碼 var sprnstr=;/設(shè)置打印開始區(qū)域 var eprnstr=;/設(shè)置打印結(jié)束區(qū)域 var prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);/從開始代碼向后取html prnhtml=prnhtml.substring(0,prnhtml.

60、indexOf(eprnstr);/從結(jié)束代碼向前取html window.document.body.innerHTML=prnhtml; window.print(); /恢復(fù)頁面,可再次打印 window.document.body.innerHTML=bdhtml; 接著在ReportPersonalYear.aspx.cs后臺(tái)中編寫語句,實(shí)現(xiàn)列表選擇不同年度、系別、人員顯示年度科研信息,關(guān)鍵代碼如下: / / 查詢功能 / / 20 / protected void btnSearch_Click(object sender, EventArgs e) /時(shí)間 if (this.dd

61、lYear.SelectedValue != null & this.ddlYearEnd.SelectedValue != null) if (Convert.ToInt32(this.ddlYear.SelectedValue != null) Convert.ToInt32(this.ddlYearEnd.SelectedValue != null) Year = this.ddlYearEnd.SelectedValue.ToString(); YearEnd = this.ddlYear.SelectedValue.ToString(); else Year = this.ddlYe

62、ar.SelectedValue.ToString(); YearEnd = this.ddlYearEnd.SelectedValue.ToString(); else if (this.ddlYear.SelectedValue != null) Year = this.ddlYear.SelectedValue.ToString(); YearEnd = this.ddlYear.SelectedValue.ToString(); else if (this.ddlYearEnd.SelectedValue != null) Year = this.ddlYearEnd.Selected

63、Value.ToString(); YearEnd = this.ddlYearEnd.SelectedValue.ToString(); SessionYearReportStrat = Year.ToString(); SessionYearReportEnd = YearEnd.ToString(); string strWhere = ;/查詢條件 if (this.ddlDept.SelectedValue != & this.ddlDept.SelectedValue != null) strWhere += and A.DeptID= + this.ddlDept.Selecte

64、dValue + ; if (this.txtName.Text.Trim() != & this.txtName.Text.Trim() != null) strWhere += and A.name like % + this.txtName.Text.Trim() + %; #region 報(bào)表 /獲得人員21 string PersonSQL = select A.OID,A.name,B.Name DeptID from Org_EMPLOYEE A,Org_Department B where A.FlagAccount=1 + strWhere; PersonSQL += and

65、 A.DeptID=B.OID order by A.OrgID,A.name ; DataTable dtPerson = new DataTable(); dtPerson = Comm.ExecuteDataTable(PersonSQL); if (dtPerson.Rows.Count 0) Control controlReportPerson = new Control(); for (int i = 0; i 0 & dtExist.Rows00.ToString() != 0) showData(dtPerson, controlReportPerson, i); else

66、showData(dtPerson, controlReportPerson, i); #endregion / / 顯示年度報(bào)表 / / / / private void showData(DataTable dtPerson, Control controlReportPerson, int i) SessionEmplID = dtPerson.Rowsi0.ToString(); phReportPerson.Controls.Add(new LiteralControl( + dtPerson.Rowsi2.ToString() + ); controlReportPerson = LoadControl(reportPerson.ascx, 22dtPerson.Rowsi0.ToString(), i); phReportPerson.Controls.Add(controlReportPerson); / / 自定義控件傳參 / / 自定義控件路徑 / 參數(shù) / 用戶控件 private UserControl LoadControl(string UserContro

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!