畢業(yè)論文--圖書(shū)管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  圖書(shū)管理系統(tǒng)</b></p><p><b>  \</b></p><p>  學(xué)生姓名: 學(xué)生學(xué)號(hào): </p><p>  年 級(jí): 專(zhuān) 業(yè): 軟件技術(shù)</p><p>  指導(dǎo)教師: 職 稱(chēng): 講 師

2、</p><p><b>  2012年05月</b></p><p><b>  內(nèi) 容 摘 要</b></p><p>  科研管理系統(tǒng)是針對(duì)我校日??蒲泄芾砉ぷ鞯木唧w要求,從科研成果管理、科研項(xiàng)目管理、科研經(jīng)費(fèi)管理、科研機(jī)構(gòu)及科研人員等方面進(jìn)行建設(shè)的系統(tǒng)。</p><p>  隨著科研管理系統(tǒng)

3、數(shù)據(jù)日益增加,數(shù)據(jù)量的龐大,教師對(duì)數(shù)據(jù)查看的要求也隨之提高,尤其是報(bào)表方面,舊的報(bào)表已經(jīng)不能滿(mǎn)足教師的需求。為此,對(duì)科研系統(tǒng)進(jìn)行改進(jìn),主要是報(bào)表數(shù)據(jù)顯示方面。本系統(tǒng)是在Windows XP下,采用ASP.NET\WEB技術(shù)和Microsoft SQL Server 2000數(shù)據(jù)庫(kù),開(kāi)發(fā)工具為Microsoft Visual Studio 2008,采用C#技術(shù)模擬Pet.Shop架構(gòu)開(kāi)發(fā)的一種系統(tǒng)。應(yīng)用數(shù)據(jù)層基類(lèi) 、數(shù)據(jù)層工廠(chǎng)

4、類(lèi)、接口層 、接口實(shí)現(xiàn)層 、實(shí)體類(lèi) 、業(yè)務(wù)邏輯層、表示層的分層體系結(jié)構(gòu)。主要用了ASP.NET中的用戶(hù)自定義控件和UserControl類(lèi)。</p><p>  關(guān)鍵字:C#;SQLserver2005; Pet.Shop架構(gòu);報(bào)表; 科研管理系統(tǒng)</p><p><b>  目 錄</b></p><p>

5、  中英文摘要 (I)</p><p><b>  1.引 言(1)</b></p><p>  2.可行性分析(1)</p><p>  2.1 可行性研究的前提(1)</p><p>  2.1.1 目的(1)</p><p>  2.1.2 條件(1)</p>&l

6、t;p>  2.1.3 決定可行性的主要因素(1)</p><p>  2.2 系統(tǒng)技術(shù)可行性分析(2)</p><p>  2.2.1開(kāi)發(fā)環(huán)境的選擇(2)</p><p>  2.2.2 編程語(yǔ)言的選擇(4)</p><p>  2.2.3數(shù)據(jù)庫(kù)服務(wù)器的選擇(4)</p><p>  3.模塊分析及總

7、體設(shè)計(jì)(4)</p><p>  3.1模塊需求 (4)</p><p>  3.1.1系統(tǒng)結(jié)構(gòu)分析(5)</p><p>  3.1.2功能描述(6)</p><p>  3.1.3功能模塊詳細(xì)描述(6)</p><p>  3.2系統(tǒng)開(kāi)發(fā)工具 (6)</p><p>  3

8、.2.1系統(tǒng)開(kāi)發(fā)所用技術(shù)(7)</p><p>  3.2.2運(yùn)行環(huán)境(7)</p><p>  4.模塊開(kāi)發(fā)設(shè)計(jì)(7)</p><p>  4.1開(kāi)發(fā)框架的設(shè)計(jì) (7)</p><p>  4.1.1模型設(shè)計(jì)(10)</p><p>  4.1.2控制器設(shè)計(jì)(11)</p><

9、p>  4.1.3視圖設(shè)計(jì)(11)</p><p>  4.2數(shù)據(jù)庫(kù)設(shè)計(jì) (11)</p><p>  4.2.1數(shù)據(jù)庫(kù)表設(shè)計(jì)的準(zhǔn)則(11)</p><p>  4.2.2數(shù)據(jù)庫(kù)表的設(shè)計(jì)(前臺(tái))(11)</p><p>  5.系統(tǒng)設(shè)計(jì)(15)</p><p>  5.1首頁(yè)登錄界面(15)&l

10、t;/p><p>  5.2報(bào)表分析(16)</p><p>  5.3年度報(bào)表(18)</p><p>  5.3.1年度報(bào)表(18)</p><p>  5.3.2個(gè)人報(bào)表(27)</p><p>  5.3.3年度工作(32)</p><p><b>  6.總結(jié)(

11、21)</b></p><p><b>  致謝(33)</b></p><p><b>  參考文獻(xiàn)(34)</b></p><p><b>  1.引 言</b></p><p>  計(jì)算機(jī)是新技術(shù)革命的一支主力,也是推動(dòng)社會(huì)向現(xiàn)代化邁進(jìn)的活躍因素。計(jì)算機(jī)科

12、學(xué)與技術(shù)是第二次世界大戰(zhàn)以來(lái)發(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ā)展給人們帶來(lái)方便的一種表現(xiàn)。</p><p>  本

13、系統(tǒng)模擬Pet.Shop框架開(kāi)發(fā),在Microsoft Visual Studio 2005平臺(tái)下使用C#語(yǔ)言開(kāi)發(fā)的,數(shù)據(jù)庫(kù)使用Microsoft SQL Server 2005。通過(guò)前用戶(hù)界面和后臺(tái)代碼的建設(shè)共同完成了科研成果管理、科研項(xiàng)目管理、科研經(jīng)費(fèi)管理、科研機(jī)構(gòu)及科研人員等模塊從而充分展示了科研管理系統(tǒng)所帶來(lái)的便利。</p><p><b>  2.可行性分析</b></p&g

14、t;<p><b>  可行性研究的前提</b></p><p><b>  目的</b></p><p>  盡可能在最短的時(shí)間內(nèi)確定完成系統(tǒng)模塊,以便學(xué)校科研工作更加順利進(jìn)行。</p><p><b>  條件</b></p><p>  現(xiàn)所具有的軟、硬件設(shè)

15、備如下:</p><p>  開(kāi)發(fā)設(shè)備:PC機(jī)(CPU:Intel(R) Core(TM)2 CPU 4300 @1.80GHz (2 CPUs) ,內(nèi)存:2046MB)</p><p>  開(kāi)發(fā)環(huán)境:Windows XP</p><p>  開(kāi)發(fā)軟件:Visual Studio 2008</p><p>  數(shù)據(jù)庫(kù)服務(wù)器:SQL Serve

16、r 2005</p><p>  其它輔助工具:Dreamweaver </p><p>  以上設(shè)備可以滿(mǎn)足本系統(tǒng)的開(kāi)發(fā)。</p><p>  決定可行性的主要因素</p><p>  一個(gè)良好的科研管理系統(tǒng)可以幫助我??蒲泄ぷ鞯木W(wǎng)絡(luò)化管理。完成此系統(tǒng)有助于科研管理溝通平臺(tái)的構(gòu)建,系統(tǒng)維護(hù)只要在后臺(tái)進(jìn)行編輯,前臺(tái)的用戶(hù)界面操作就能很好地按一

17、定方式進(jìn)行以達(dá)到你所要的效果。服務(wù)于學(xué)??蒲泄ぷ魅藛T的工作,具有較強(qiáng)的使用性。當(dāng)然,系統(tǒng)的完整性離不開(kāi)各模塊的完整性。</p><p><b>  系統(tǒng)技術(shù)可行性分析</b></p><p><b>  開(kāi)發(fā)環(huán)境的選擇</b></p><p>  C#(讀做 "C sharp") 是微軟推出的一種基于.

18、NET框架的、面向?qū)ο蟮母呒?jí)編程語(yǔ)言。C#由C語(yǔ)言和C++派生而來(lái),繼承了其強(qiáng)大的性能,同時(shí)又以.NET 框架類(lèi)庫(kù)作為基礎(chǔ),擁有類(lèi)似Visual Basic的快速開(kāi)發(fā)能力。C#由安德斯·海爾斯伯格主持開(kāi)發(fā),微軟在2000年發(fā)布了這種語(yǔ)言。C#看起來(lái)與Java有著驚人的相似;它包括了諸如單一繼承,界面,與Java幾乎同樣的語(yǔ)法,和編譯成中間代碼再運(yùn)行的過(guò)程.但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與CO

19、M(組件對(duì)象模型)是直接集成的,而且它是微軟公司.NET windows網(wǎng)絡(luò)框架的主角. </p><p><b>  其特性:</b></p><p><b> ?。?)語(yǔ)言特性</b></p><p>  相對(duì)于C和C++,這個(gè)語(yǔ)言在許多方面進(jìn)行了限制和增強(qiáng):</p><p>  指針(Poin

20、ter)只能被用于不安全模式。大多數(shù)對(duì)象訪(fǎng)問(wèn)通過(guò)安全的引用實(shí)現(xiàn),以避免無(wú)效的調(diào)用,并且有許多算法用于驗(yàn)證溢出,指針只能用于調(diào)用值類(lèi)型,以及受垃圾收集控制的托管對(duì)象。對(duì)象不能被顯式釋放,代替為當(dāng)不存在被引用時(shí)通過(guò)垃圾回收器回收。只允許單一繼承(single inheritance),但是一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口(interfaces)。</p><p>  C#比C++更加類(lèi)型安全。默認(rèn)的安全轉(zhuǎn)換是隱含轉(zhuǎn)換,例如由短

21、整型轉(zhuǎn)換為長(zhǎng)整型和從派生類(lèi)轉(zhuǎn)換為基類(lèi)。而接口布爾型同整型,及枚舉型同整型不允許隱含轉(zhuǎn)換,非空指針(通過(guò)引用相似對(duì)象)同用戶(hù)定義類(lèi)型的隱含轉(zhuǎn)換必段被顯式的確定,不同于C++的復(fù)制構(gòu)造函數(shù)。數(shù)組聲明語(yǔ)法不同("int[] a = new int[5]" 而不是 "int a[5]")。枚舉位于其所在的命名空間中。</p><p>  C#中沒(méi)有模版(Template),但是在C

22、# 2.0中引入了泛型(Generic programming),并且支持一些C++模版不支持的特性。比如泛型參數(shù)中的類(lèi)型約束。另一方面,表達(dá)式不能像C++模版中被用于類(lèi)型參數(shù)。屬性支持,使用類(lèi)似訪(fǎng)問(wèn)成員的方式調(diào)用。完整的反射支持。</p><p><b> ?。?)泛型</b></p><p>  泛型,或參數(shù)化類(lèi)型,是被C#支持的.NET 2.0特性。不同于C+

23、+模版,.NET 參數(shù)化類(lèi)型是在運(yùn)行時(shí)被實(shí)例化,而不是編譯時(shí),因此它可以跨語(yǔ)言,而C++模版卻不行。它支持的一些特性并不被C++模版直接支持,比如約束泛型參數(shù)實(shí)現(xiàn)一個(gè)接口。另一方面,C# 不支持無(wú)類(lèi)型的泛型參數(shù)。不像Java中的泛型,在CLI虛擬機(jī)中,.NET generics 使用 具化 生成泛型參數(shù),它允許優(yōu)化和保存類(lèi)型信息。</p><p><b> ?。?)靜態(tài)類(lèi)</b

24、></p><p>  靜態(tài)類(lèi)它不能被實(shí)例化,并且只能有靜態(tài)成員。這同很多過(guò)程語(yǔ)言中的模塊概念相類(lèi)似。</p><p>  (4)兩個(gè)基本類(lèi)分部方法</p><p>  允許代碼生成器生成方法聲明作為擴(kuò)展點(diǎn),如果有人在另一個(gè)部分類(lèi)實(shí)現(xiàn)了它才會(huì)被包含于原代碼編譯。分部方法 (Partial methods) 必須定義在分部類(lèi) (partial classes)

25、中。定義分部方法 需要用 partial 做修飾符。分部方法不一定總是有執(zhí)行內(nèi)容的,也就是說(shuō)定義的方法 可以一句操作語(yǔ)句都沒(méi)有。分部方法返回值必須是void。分部方法可以是靜態(tài) (static) 方法。分部方法可以包含參數(shù),參數(shù)可以包含以下修飾詞:this,ref,params。分部方法必須是私有 (private) 方法</p><p><b> ?。?)Linq</b></p>

26、;<p>  語(yǔ)言集成查詢(xún)(英語(yǔ):Language Integrated Query,縮寫(xiě):LINQ):[5] 上下文相關(guān)關(guān)鍵字"from, where, select" 可用于查詢(xún)SQL、XML、集合等。這些標(biāo)識(shí)符在LINQ上下文中被作為關(guān)鍵字,但是它們的增加不會(huì)破壞原有的名為from、where或select的變量。</p><p

27、><b> ?。?)程序的執(zhí)行</b></p><p>  C#并不被編譯成為能夠直接在計(jì)算機(jī)上執(zhí)行的二進(jìn)制本地代碼。與Java類(lèi)似,它被編譯成為中間代碼(Microsoft Intermediate Language),然后通過(guò).NET Framework的虛擬機(jī)——被稱(chēng)之為通用語(yǔ)言運(yùn)行庫(kù)(Common Language Runtime)——執(zhí)行。</p><p&

28、gt;  所有的.Net編程語(yǔ)言都被編譯成這種被稱(chēng)為MSIL(Microsoft Intermediate Language )的中間代碼。因此雖然最終的程序在表面上仍然與傳統(tǒng)意義上的可執(zhí)行文件都具有“.exe”的后綴名。但是實(shí)際上,如果計(jì)算機(jī)上沒(méi)有安裝.Net Framework,那么這些程序?qū)⒉荒軌虮粓?zhí)行。</p><p>  在程序執(zhí)行時(shí),.Net Framework將中間代碼翻譯成為二進(jìn)制機(jī)器碼,從而使它

29、得到正確的運(yùn)行。最終的二進(jìn)制代碼被存儲(chǔ)在一個(gè)緩沖區(qū)(Buffer)中。所以一旦程序使用了相同的代碼,那么將會(huì)調(diào)用緩沖區(qū)中的版本。這樣如果一個(gè).Net程序第二次被運(yùn)行,那么這種翻譯不需要進(jìn)行第二次,速度明顯加快。</p><p> ?。?)索引下標(biāo)標(biāo)準(zhǔn)化</p><p>  一個(gè)索引與屬性除了不使用屬性名來(lái)引用類(lèi)成員而是用一個(gè)方括號(hào)中的數(shù)字來(lái)匿名引用(就象用數(shù)組下標(biāo)一樣)以外是相似的.  可

30、以用一個(gè)循環(huán)器來(lái)匿名引用字符串內(nèi)部數(shù)組成員.</p><p>  微軟公司已經(jīng)向ECMA申請(qǐng)將C#作為一種標(biāo)準(zhǔn)。在2001年12月,ECMA發(fā)布了ECMA-334 C#語(yǔ)言規(guī)范。C#在2003年成為一個(gè)ISO標(biāo)準(zhǔn)(ISO/IEC 23270)?,F(xiàn)在有一些獨(dú)立的實(shí)現(xiàn)正在進(jìn)行,包括:自由軟件基金會(huì)的dotGNU Portable.NET、Mono、Baltie - C# IDE for children a

31、nd young Baltie</p><p><b> ?。?)編譯器</b></p><p>  C# 有5個(gè)著名的編譯器(compilers):</p><p>  最標(biāo)準(zhǔn)的 C# 的實(shí)現(xiàn)當(dāng)屬微軟自己推出、并被包含在 .NET Framework 內(nèi)的 C# 編譯器。</p><p>

32、  微軟的Rotor項(xiàng)目(Rotor Project)(目前稱(chēng)為 Shared Source Common Language Infrastructure),提供了 通用語(yǔ)言運(yùn)行庫(kù)(Common Language Runtime)的實(shí)現(xiàn)與 c# 編譯器。</p><p>  由 Novell 贊助的 Mono 項(xiàng)目提供了 C# 編譯器,同時(shí)也接近百分之百地實(shí)現(xiàn)了.NET F

33、ramework類(lèi)庫(kù)。</p><p>  Dot GNU 項(xiàng)目也提供了另一個(gè)自由版本的 C# 編譯器, 也提供了.NET Framework類(lèi)庫(kù)的實(shí)現(xiàn)。</p><p>  Borland 提供了項(xiàng)目級(jí)的 C# 集成開(kāi)發(fā)環(huán)境,內(nèi)部所使用的編譯器仍是微軟.NET Framework所提供的 C# 編譯器(這也意味著你仍須安裝微軟的.NET Framework)。產(chǎn)品: C# Bu

34、ilder(商業(yè)版本),Turbo C# Explorer(免費(fèi)版本)。</p><p><b>  編程語(yǔ)言的選擇</b></p><p>  C# 無(wú)疑是這個(gè)星球上有史以來(lái)最好的編程語(yǔ)言,它幾乎集中了所有關(guān)于軟件開(kāi)發(fā)和軟件工程研究的最新成果。面向?qū)ο?、?lèi)型安全、組件技術(shù)、自動(dòng)內(nèi)存管理、跨平臺(tái)異常處理、版本控制、代碼安全管理……你不可能在另外的一種語(yǔ)言中找到所有這些

35、特性。C# 和JAVA一樣,簡(jiǎn)直就是照搬了C++的部分語(yǔ)法,用C# 開(kāi)發(fā)應(yīng)用軟件可以大大縮短開(kāi)發(fā)周期,同時(shí)可以利用原來(lái)除用戶(hù)界面代碼之外的C++代碼。</p><p><b>  數(shù)據(jù)庫(kù)服務(wù)器的選擇</b></p><p>  該網(wǎng)站的數(shù)據(jù)庫(kù)選擇Microsoft公司出的SQL Server 2005,該數(shù)據(jù)庫(kù)具有高可用性,SQL Server 2005的失敗轉(zhuǎn)移集群

36、和數(shù)據(jù)庫(kù)鏡像技術(shù)確保企業(yè)向員工、客戶(hù)和合作伙伴提交高度可靠和可用的應(yīng)用系統(tǒng);管理工具則引進(jìn)了一套集成的管理工具和管理應(yīng)用編程接口(APIs),以提供易用性、可管理性、及對(duì)大型SQL Server配置的支持;通過(guò)數(shù)據(jù)庫(kù)加密、更加安全的默認(rèn)設(shè)置、加強(qiáng)的密碼政策和細(xì)化許可控制、及加強(qiáng)的安全模型等特性,為企業(yè)數(shù)據(jù)提供最高級(jí)別的安全性。安全性增強(qiáng);可伸縮性的先進(jìn)性包括表格分區(qū)、復(fù)制能力的增強(qiáng)和64位支持。較為良好。</p><

37、p>  SQL Server 2005 通過(guò)在可伸縮性、數(shù)據(jù)集成、開(kāi)發(fā)工具和強(qiáng)大的分析等方面的革新更好的確立了微軟在BI領(lǐng)域的領(lǐng)導(dǎo)地位。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)用是在不同的平

38、臺(tái)上。其服務(wù)器強(qiáng)大的性能和完備的功能已能得到大眾的認(rèn)可。且開(kāi)發(fā)該網(wǎng)站所用的開(kāi)發(fā)工具、開(kāi)發(fā)語(yǔ)言、Web服務(wù)器等都是Microsoft公司的產(chǎn)品,所以選擇Microsoft SQL Server 2005作為該系統(tǒng)的數(shù)據(jù)庫(kù)服務(wù)器。</p><p>  3.模塊分析及總體設(shè)計(jì)</p><p><b>  模塊需求</b></p><p>  此系統(tǒng)主

39、要供學(xué)??蒲泄ぷ髡呤褂?,其中報(bào)表分析、年度報(bào)表模塊主要包括以下用戶(hù)界面:</p><p>  報(bào)表分析:論文/專(zhuān)著等一覽表、研究項(xiàng)目/課題一覽表、教材成果一覽表、著作成果一覽表等</p><p>  年度報(bào)表:年度報(bào)表、年度工作、個(gè)人報(bào)表</p><p><b>  模塊結(jié)構(gòu)分析</b></p><p>  模塊結(jié)構(gòu)圖如

40、下圖3-1所示:</p><p><b>  圖3-1</b></p><p><b>  功能描述</b></p><p><b>  報(bào)表分析:</b></p><p>  論文/專(zhuān)著等一覽表:將各院系的論文/專(zhuān)著使用列表形式展示,使科研工作人員有選擇性的查看其想要的論文/

41、專(zhuān)著內(nèi)容。并有導(dǎo)出、查詢(xún)操作。</p><p>  研究項(xiàng)目/課題一覽表:將各院系的研究項(xiàng)目/課題使用列表形式展示,方便科研工作人員查看歷年的研究項(xiàng)目/課題信息。并有導(dǎo)出、查詢(xún)操作。</p><p>  教材成果一覽表:將各院系的教材成果進(jìn)行匯總,去除重復(fù)的數(shù)據(jù),并通過(guò)列表形式展示,并有導(dǎo)出、查詢(xún)操作。</p><p>  著作成果一覽表:以列表的形式將著作成果顯示

42、,方便用戶(hù)查看,同時(shí)可對(duì)其進(jìn)行導(dǎo)出、查詢(xún)操作。</p><p><b>  年度報(bào)表:</b></p><p>  年度報(bào)表:將各院系的教師的科研情況進(jìn)行匯總,方便科研工作者查看,同時(shí)具有打印、導(dǎo)出Word、導(dǎo)出Excel、查詢(xún)功能,科研工作者可以將選定的年度科研信息備份成文檔。</p><p>  年度工作:通過(guò)該界面可以將個(gè)人的科研工作進(jìn)行

43、年度工作匯總,并支持打印導(dǎo)出功能。</p><p>  個(gè)人報(bào)表:此用戶(hù)界面主要用于查詢(xún)當(dāng)前用戶(hù)一年內(nèi)的科研項(xiàng)目、科研成果、科研活動(dòng)信息。</p><p>  3.1.3 功能模塊詳細(xì)描述</p><p><b>  (1)登入界面</b></p><p>  程序啟動(dòng)后,進(jìn)入用戶(hù)登陸界面。用戶(hù)登錄頁(yè)面包括用戶(hù)名稱(chēng)和用戶(hù)

44、口令的文本輸入框,確定按鈕。輸入正確用戶(hù)名稱(chēng)和用戶(hù)口令,只有經(jīng)驗(yàn)證身份成功后,才進(jìn)入我的主頁(yè)的功能,通過(guò)導(dǎo)航菜單,繼而可進(jìn)行具體模塊的操作。</p><p>  (2) 報(bào)表分析模塊</p><p>  展示所有的報(bào)表數(shù)據(jù),根據(jù)自己的意愿進(jìn)行相應(yīng)的操作。</p><p>  (3) 年度報(bào)表模塊</p><p>  顯示所有教師的年度科研工作

45、,教師需有這項(xiàng)的權(quán)限才可以進(jìn)行各項(xiàng)具體的操作。</p><p><b>  系統(tǒng)開(kāi)發(fā)工具</b></p><p><b>  系統(tǒng)開(kāi)發(fā)所用技術(shù)</b></p><p>  C#:C#是微軟推出的一種基于.NET框架的、面向?qū)ο蟮母呒?jí)編程語(yǔ)言。C#由C語(yǔ)言和C++派生而來(lái),繼承了其強(qiáng)大的性能,同時(shí)又以.NET 框架類(lèi)庫(kù)作為基

46、礎(chǔ),擁有類(lèi)似Visual Basic的快速開(kāi)發(fā)能力。此次修改系統(tǒng)的.NET 框架是用.NET Framework 3.5。這個(gè)版本將包含一個(gè)支持C#和VB.Net中心的語(yǔ)言特性的編譯器,以及對(duì)語(yǔ)言整合查詢(xún)(LINQ, Language-Integrated Query)的支援。.NET框架是以一種采用系統(tǒng)虛擬機(jī)運(yùn)行的編程平臺(tái),以通用語(yǔ)言運(yùn)行庫(kù)(Common Language Runtime)為基礎(chǔ),支援多種語(yǔ)言(C#、VB.NET、C+

47、+、Python等)的開(kāi)發(fā)。</p><p>  SQL:SQL全名是結(jié)構(gòu)化查詢(xún)語(yǔ)言(Structured Query Language),是用于數(shù)據(jù)庫(kù)中的標(biāo)準(zhǔn)數(shù)據(jù)查詢(xún)語(yǔ)言,IBM 公司最早使用在其開(kāi)發(fā)的數(shù)據(jù)庫(kù)系統(tǒng)中。其功能強(qiáng)大,簡(jiǎn)單易學(xué),自從推出以來(lái),得到了廣泛的應(yīng)用,如今大多數(shù)的數(shù)據(jù)庫(kù)管理系統(tǒng)都支持SQL。</p><p>  JavaScript:使用JavaScript(

48、客戶(hù)端腳本語(yǔ)言)實(shí)現(xiàn)客戶(hù)端快速響應(yīng)的要求以及網(wǎng)頁(yè)添加動(dòng)態(tài)功能。</p><p>  XML:使用XML作為少量數(shù)據(jù)的存儲(chǔ)。</p><p>  CSS:使用CSS來(lái)控制網(wǎng)站的統(tǒng)一界面風(fēng)格,方便修改。</p><p>  Pet.shop的三層架構(gòu):使用分層架構(gòu)來(lái)提高代碼的可讀性和可重用性。</p><p><b>  運(yùn)行環(huán)境<

49、;/b></p><p>  Microsoft Visual Studio 2005</p><p>  SQL Server 2005</p><p>  IIS或IE6.0 瀏覽器</p><p><b>  4.模塊開(kāi)發(fā)設(shè)計(jì)</b></p><p><b>  開(kāi)發(fā)框架的設(shè)

50、計(jì)</b></p><p>  1.項(xiàng)目概述與架構(gòu)分析 </p><p>  微軟剛推出了基于A(yíng)SP.NET 2.0下的Pet Shop 4, 該版本有了一個(gè)全新的用戶(hù)界面。是研究ASP.NET 2.0的好范例,一直以來(lái),在.NET和Java之間爭(zhēng)論不休,到底使用哪個(gè)平臺(tái)開(kāi)發(fā)的企業(yè)級(jí)應(yīng)用性能最好、結(jié)構(gòu)最優(yōu)、生產(chǎn)力最高。為了用事實(shí)說(shuō)話(huà),通過(guò)對(duì)項(xiàng)目各方面的性能評(píng)估進(jìn)而在比較.NET

51、和Java的高下。用戶(hù)做比較的這個(gè)項(xiàng)目就是Petshop。正因?yàn)镻etshop肩負(fù)著上面所說(shuō)的重任,各方面必須是最優(yōu)的,架構(gòu)設(shè)計(jì)應(yīng)該是經(jīng)過(guò)慎重考慮的。所以其一經(jīng)推出,便成為了開(kāi)發(fā)者、架構(gòu)師等人學(xué)習(xí)、研究的典范。微軟推薦的分層式結(jié)構(gòu)一般分為三層,從下至上分別為:數(shù)據(jù)訪(fǎng)問(wèn)層、業(yè)務(wù)邏輯層(又或成為領(lǐng)域?qū)樱⒈硎緦?,日前微軟推出了基?NET Framework 2.0開(kāi)發(fā)的Petshop 4。新的Petshop4實(shí)現(xiàn)了與Petshop 3相同

52、甚至更多的特性,由于采用了Master Pages,Membership,以及Profile,SqlCacheDependency,但是代碼量卻減少了四分之一。同時(shí),在事務(wù)、數(shù)據(jù)緩存、安全方面使用了.NET 2.0附帶的特性,構(gòu)建了一個(gè)靈活的最佳實(shí)踐的應(yīng)用程</p><p>  Pet Shop利用了Project Conversion Wizard把項(xiàng)目從ASP.NET 1.1移植到了ASP.NET 2.0,然

53、后做了以下改動(dòng):</p><p>  1.用System.Transactions代替了原來(lái)的Serviced Components提供的事務(wù)功能</p><p>  代碼實(shí)現(xiàn):PetShop.BLL.OrderSynch的 publicvoid Insert(PetShop.Model.OrderInfo order)。</p><p>  2.用強(qiáng)類(lèi)型的范型集合

54、代替了原來(lái)的弱類(lèi)型集合</p><p>  publicIList<ProductInfo> GetProductsByCategory(string category)</p><p>  { // Return new if the string is empty</p><p>  if (string.IsNullOrEmpty(categor

55、y))</p><p>  returnnewList<ProductInfo>();</p><p>  // Run a search against the data store</p><p>  return dal.GetProductsByCategory(category);</p><p><b>  

56、}</b></p><p>  3.采用ASP.NET 2.0 Membership來(lái)做認(rèn)證和授權(quán)</p><p>  4.創(chuàng)建了針對(duì)Oracle 10g的Custom ASP.NET 2.0 Membership Provider</p><p>  5.利用ASP.NET 2.0的Custom Oracle 和 SQL Server Profile

57、Providers 做用戶(hù)狀態(tài)管理,包括購(gòu)物車(chē)等</p><p>  6.采用了Master Pages,取代了原來(lái)的用戶(hù)控件,來(lái)實(shí)現(xiàn)統(tǒng)一的界面效果</p><p>  7.使用了ASP.NET 2.0 Wizard控件實(shí)現(xiàn)check-out </p><p>  8.使用了SqlCacheDependency來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)層次的緩存更新(cache invalida

58、tion)功能</p><p>  9.使用了消息隊(duì)列來(lái)實(shí)現(xiàn)異時(shí)訂單處理。 </p><p><b>  2.整體架構(gòu):</b></p><p><b>  項(xiàng)目列表:</b></p><p>  從整體可以看出,Pet Shop 4的項(xiàng)目體系已經(jīng)很龐大,考慮的方面也較3.0更全面復(fù)雜。</p

59、><p><b>  項(xiàng)目分解:</b></p><p>  由于整體已經(jīng)有22個(gè)項(xiàng)目,所以,對(duì)于初學(xué)者不易接受,經(jīng)分解,可以大體上分幾塊去理解。</p><p>  3.Petshop 4中的設(shè)計(jì)模式:</p><p><b>  工廠(chǎng)模式:</b></p><p>  首當(dāng)其

60、沖的就是工廠(chǎng)模式,很容易就可以看出來(lái),也是應(yīng)用最多的。</p><p>  DALFactory:數(shù)據(jù)訪(fǎng)問(wèn)層的抽象工廠(chǎng)(決定創(chuàng)建哪種數(shù)據(jù)庫(kù)類(lèi)型的數(shù)據(jù)訪(fǎng)問(wèn)層。可以選擇:SQLServer,Oracle)</p><p>  CacheDependencyFactory:緩存依賴(lài)類(lèi)的工廠(chǎng)類(lèi)。(創(chuàng)建具體表的緩存依賴(lài))</p><p>  MessagingFactory

61、:異時(shí)處理消息隊(duì)列的抽象工廠(chǎng)(反射創(chuàng)建具體的異時(shí)處理類(lèi))</p><p>  ProfileDALFactory:ProfileDAL的工廠(chǎng)類(lèi)(反射選擇創(chuàng)建Oracle 和SQL Server的 ProfileDAL) </p><p><b>  策略模式:</b></p><p>  IorderStrategy </p>&

62、lt;p><b>  中介模式</b></p><p>  CategoryDataProxy ItemDataProxy ProductDataProxy</p><p><b>  模型設(shè)計(jì)</b></p><p>  在SQL Server 2005中建立KyMis數(shù)據(jù)庫(kù),并在數(shù)據(jù)庫(kù)上創(chuàng)建Tab_Income

63、AndExpenditure表,Tab_IncomeAndExpenditure_Item表,Tab_CustomerBilling表,Tab_CustomerBilling表,Tab_EmployeeBilling表,Tab_EmployeeBilling_Income表</p><p>  并設(shè)計(jì)相應(yīng)的數(shù)據(jù)模型;</p><p><b>  控制器設(shè)計(jì)</b>&l

64、t;/p><p>  通過(guò)IIS可瀏覽主界面,根據(jù)客戶(hù)的請(qǐng)求來(lái)操作模型,并把模型的響應(yīng)結(jié)果由用戶(hù)界面展現(xiàn)給客戶(hù)</p><p><b>  視圖設(shè)計(jì)</b></p><p>  系統(tǒng)模塊開(kāi)發(fā)中所用到的C#控件顯示頁(yè)面和后臺(tái)代碼</p><p><b>  數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><

65、;p>  數(shù)據(jù)庫(kù)設(shè)計(jì)是項(xiàng)目開(kāi)發(fā)中非常重要的一個(gè)環(huán)節(jié),它是整個(gè)項(xiàng)目的根基,如果設(shè)計(jì)不好,在后來(lái)的系統(tǒng)開(kāi)發(fā),維護(hù),變更和功能擴(kuò)充時(shí),將會(huì)遇到非常大的困難,大量工作可能需要重新進(jìn)行。</p><p><b>  數(shù)據(jù)庫(kù)表設(shè)計(jì)的準(zhǔn)則</b></p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)一個(gè)表最好只存儲(chǔ)一個(gè)實(shí)體或?qū)ο蟮南嚓P(guān)信息,不同的實(shí)體最好存儲(chǔ)在不同的數(shù)據(jù)表中,如果實(shí)體還可以再劃分,

66、實(shí)體的劃分原則是最好能夠比當(dāng)前系統(tǒng)要開(kāi)發(fā)的實(shí)體的顆粒度要?。粩?shù)據(jù)庫(kù)表的信息結(jié)構(gòu)一定要合適,表的字段的數(shù)量一定不要過(guò)多;擴(kuò)充信息和動(dòng)態(tài)變化的信息一定要分開(kāi)在不同的表里;對(duì)于出現(xiàn)多對(duì)多這樣的表關(guān)系系統(tǒng),盡量不出現(xiàn)。</p><p><b>  數(shù)據(jù)庫(kù)表的設(shè)計(jì)</b></p><p>  表4-1論文/專(zhuān)著等一覽表Tab_Disquisition</p>&l

67、t;p>  表4-2研究項(xiàng)目/課題一覽表Tab_Project</p><p>  表4-3 研究項(xiàng)目/課題人員信息表Tab_Project_Empl</p><p>  表4-4教材成果一覽表Tab_Book</p><p>  表4-5教材成果人員表Tab_Book_Author</p><p>  表4-6 教材成果匯總表Tab_

68、reportbooks</p><p><b>  5.系統(tǒng)設(shè)計(jì)</b></p><p>  5.1 首頁(yè)登錄界面</p><p>  只有當(dāng)用戶(hù)輸入正確的口令和密碼時(shí)才顯示主頁(yè)面。主頁(yè)面中包括綜合辦公、科研機(jī)構(gòu)、科研人員、科研項(xiàng)目、科研經(jīng)費(fèi)、科研成果、科研活動(dòng)、報(bào)表分析、科研考核、科研審核、科研統(tǒng)計(jì)、年度報(bào)表、科研設(shè)置等模塊。點(diǎn)擊我所負(fù)責(zé)的報(bào)

69、表分析或年度報(bào)表,可以在左邊出現(xiàn)相應(yīng)的子模塊,右邊則是子模塊相應(yīng)的界面,我們可以通過(guò)該界面進(jìn)行各種操作。</p><p><b>  5.2 報(bào)表分析</b></p><p>  報(bào)表分析模塊下主要包括的子模塊有:論文/專(zhuān)著一覽表、研究項(xiàng)目/課題一覽表、教材成果一覽表、著作成果一覽表等,接下來(lái)將會(huì)著重介論文/專(zhuān)著一覽表。</p><p>  5

70、.2.1論文/專(zhuān)著一覽表(列表)</p><p>  結(jié)構(gòu)思路及主要代碼:</p><p>  去除列表中的查詢(xún)條件,增加查詢(xún)按鈕,以及查詢(xún)頁(yè)面。先拖動(dòng)工具箱中的按鈕到Report_DisquisionList.aspx頁(yè)面,分別將值設(shè)為查詢(xún)、導(dǎo)出。其中查詢(xún)按鈕功能實(shí)現(xiàn)的是轉(zhuǎn)到查詢(xún)頁(yè)面。在此主要是通過(guò)javascript腳本語(yǔ)言實(shí)現(xiàn)的,其關(guān)鍵代碼如下:</p><p&g

71、t;  <script type="text/javascript" language="javascript"></p><p>  function Search()</p><p><b>  {</b></p><p>  location="Report_Disquisio

72、nSearch.aspx";</p><p><b>  }</b></p><p><b>  </script></b></p><p>  用location="Report_DisquisionSearch.aspx";即可定位到查詢(xún)頁(yè)面,其中Report_Disquisi

73、onSearch.aspx是查詢(xún)界面。修改后支持更多的查詢(xún)條件,如作者姓名、所屬單位、刊物級(jí)別等等查詢(xún)條件。在查詢(xún)條件代碼實(shí)現(xiàn)如下:</p><p>  protected void btnSearch_Click(object sender, EventArgs e)</p><p>  { string strQuery = string.Empty;</p><

74、p>  if (this.txtAuthor.Text != "")//作者姓名</p><p><b>  {</b></p><p>  strQuery += "&AuthorName=" + his.txtAuthor.Text.Trim();</p><p><b>  

75、} </b></p><p>  if (this.ddlOrgID.SelectedValue != "")//所屬單位</p><p><b>  {</b></p><p>  strQuery += "&OrgID=" + this.ddlOrgID.SelectedValu

76、e;</p><p><b>  }</b></p><p>  if (this.ddlLevel.SelectedValue != "")//刊物級(jí)別</p><p><b>  {</b></p><p>  strQuery += "&Level=&qu

77、ot; + this.ddlLevel.SelectedValue;</p><p>  } </p><p>  if (strQuery.Length > 0)</p><p>  strQuery = strQuery.Substring(1);</p><p><b>  //返回列表頁(yè)面</

78、b></p><p>  Response.Redirect("Report_DisquisionList.aspx?" + strQuery, true);</p><p><b>  }</b></p><p>  在列表頁(yè)面的Report_DisquisionList.aspx.cs接收查詢(xún)條件,然后查詢(xún)數(shù)據(jù),最

79、后顯示在列表中,代碼實(shí)現(xiàn)如下:</p><p>  private void ShowData()</p><p><b>  { //這段有改動(dòng)</b></p><p>  string strQuery = string.Empty;</p><p>  if (Request["AuthorName&qu

80、ot;] != null && Request["AuthorName"] != "")</p><p><b>  {</b></p><p>  strQuery += " and A.AuthorName like '%" + Request["AuthorName&q

81、uot;] + "%'";//作者姓名 </p><p><b>  }</b></p><p>  if (Request.QueryString["OrgID"] != null && Request.QueryString["OrgID"] != &qu

82、ot;")</p><p><b>  {</b></p><p>  strQuery += " and A.OrgID like '%" + Request.QueryString["OrgID"] + "%'";//所屬單位</p><p>  }

83、 </p><p>  string strSQL = "select A.Title,A.AuthorName,C.Name Source,D.Name Kind,A.Cn,A.Period,A.Publications,Convert(varchar(10),A.PublishingDate,120) PublishingDate from Tab_Disquisition A le

84、ft 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

85、D on A.Kind=D.ID and D.CodeLibraryID='DisquisionKind' where 1=1 " + strQuery;</p><p>  strSQL += " order by A.PublishingDate desc,A.OrgID desc,A.Kind desc,A.Publications desc ";</p&

86、gt;<p>  objDataTable = Comm.ExecuteDataTable(strSQL);</p><p>  objDataTable.Columns.Add("infoNo");</p><p>  for (int i = 0; i < objDataTable.Rows.Count; i++)</p><

87、p><b>  {</b></p><p>  objDataTable.Rows[i]["infoNo"] = i + 1;</p><p><b>  }</b></p><p>  this.DataGridList.DataSource = objDataTable;</p>

88、<p>  this.DataGridList.DataBind();//綁定數(shù)據(jù)</p><p><b>  }</b></p><p>  導(dǎo)出功能:點(diǎn)擊列表中的導(dǎo)出按鈕,調(diào)用導(dǎo)出的方法,代碼如下:</p><p>  protected void BtnExp_Click(object sender, EventArgs e)

89、</p><p>  { </p><p>  EnterpriseService.ExportService.ToExcel("Report.xls", this.DataGridList); //將當(dāng)前列表中的數(shù)據(jù)導(dǎo)出(this.DataGridList數(shù)據(jù)源)</p><p><b>  }</b>

90、</p><p><b>  5.3 年度報(bào)表</b></p><p>  年度報(bào)表模塊主要包括的子模塊有:年度報(bào)表、個(gè)人報(bào)表、年度工作,如圖5.3.1所示:</p><p>  5.3.1 年度報(bào)表</p><p>  年度報(bào)表也是通過(guò)綁定數(shù)據(jù)庫(kù)將選定年度科研工作信息展示給用戶(hù),其基本信息包括:姓名、職 稱(chēng)、單位和從事

91、專(zhuān)業(yè)、科研考核得分等,該用戶(hù)界面包括的查功能、導(dǎo)出Word、導(dǎo)出Excel、打印功能。</p><p><b>  圖5.3.1</b></p><p>  結(jié)構(gòu)思路及主要代碼:</p><p>  首先需要在ReportPersonalYear.aspx源程序中用javascript實(shí)現(xiàn)導(dǎo)出Word、Excel、打印功能。其代碼如下:<

92、/p><p>  <script language="javascript"></p><p>  function AllAreaExcel()//指定頁(yè)面區(qū)域內(nèi)容導(dǎo)入Excel</p><p><b>  {</b></p><p>  var oXL = new ActiveXObjec

93、t("Excel.Application");</p><p>  var oWB = oXL.Workbooks.Add();</p><p>  var oSheet = oWB.ActiveSheet; </p><p>  var sel=document.body.createTextRange();</p><p&

94、gt;  sel.moveToElementText(PrintA);</p><p>  sel.select();</p><p>  sel.execCommand("Copy");</p><p>  oSheet.Paste();</p><p>  oXL.Visible = true;</p>

95、<p><b>  }</b></p><p>  function AllAreaWord()//指定頁(yè)面區(qū)域內(nèi)容導(dǎo)入Word</p><p><b>  {</b></p><p>  if(document.all("PrintA").rows.length==0)</p>

96、<p><b>  {</b></p><p>  alert("沒(méi)有內(nèi)容可導(dǎo)!");</p><p><b>  return;</b></p><p>  } try{</p><p>  var oWD = new ActiveXObject(&quo

97、t;Word.Application"); </p><p><b>  }catch(e)</b></p><p><b>  {</b></p><p>  alert("無(wú)法調(diào)用Office對(duì)象,請(qǐng)確保您的機(jī)器已安裝了Office并已將本系統(tǒng)的站點(diǎn)名加入到IE的信任站點(diǎn)列表中!");&l

98、t;/p><p><b>  return;</b></p><p><b>  }</b></p><p>  var oDC = oWD.Documents.Add("",0,1); </p><p>  var oRange =oDC.Range(0,1); </p>

99、;<p>  var sel = document.body.createTextRange(); </p><p>  sel.moveToElementText(PrintA); //tab 為導(dǎo)出數(shù)據(jù)所在的表格ID</p><p>  sel.select(); </p><p>  sel.execCommand("Copy"

100、;); </p><p>  oRange.Paste(); </p><p>  oWD.Application.Visible = true; </p><p><b>  }</b></p><p><b>  </script></b></p><p> 

101、 <script language="javascript"></p><p>  function preview()</p><p><b>  {</b></p><p>  var bdhtml=window.document.body.innerHTML;//獲取當(dāng)前頁(yè)的html代碼</p>

102、<p>  var sprnstr="<!--startprint-->";//設(shè)置打印開(kāi)始區(qū)域</p><p>  var eprnstr="<!--endprint-->";//設(shè)置打印結(jié)束區(qū)域</p><p>  var prnhtml=bdhtml.substr(bdhtml.indexOf(sprnst

103、r)+17);//從開(kāi)始代碼向后取html</p><p>  prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//從結(jié)束代碼向前取html</p><p>  window.document.body.innerHTML=prnhtml;</p><p>  window.print();</p&g

104、t;<p>  //恢復(fù)頁(yè)面,可再次打印</p><p>  window.document.body.innerHTML=bdhtml;</p><p><b>  }</b></p><p><b>  </script></b></p><p>  接著在Report

105、PersonalYear.aspx.cs后臺(tái)中編寫(xiě)語(yǔ)句,實(shí)現(xiàn)列表選擇不同年度、系別、人員顯示年度科研信息,關(guān)鍵代碼如下:</p><p>  /// <summary></p><p><b>  /// 查詢(xún)功能</b></p><p>  /// </summary></p><p>  //

106、/ <param name="sender"></param></p><p>  /// <param name="e"></param></p><p>  protected void btnSearch_Click(object sender, EventArgs e)</p>&

107、lt;p><b>  {//時(shí)間</b></p><p>  if (this.ddlYear.SelectedValue != null && this.ddlYearEnd.SelectedValue != null)</p><p><b>  {</b></p><p>  if (Conve

108、rt.ToInt32(this.ddlYear.SelectedValue != null) > Convert.ToInt32(this.ddlYearEnd.SelectedValue != null))</p><p><b>  {</b></p><p>  Year = this.ddlYearEnd.SelectedValue.ToString()

109、;</p><p>  YearEnd = this.ddlYear.SelectedValue.ToString();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><

110、p>  Year = this.ddlYear.SelectedValue.ToString();</p><p>  YearEnd = this.ddlYearEnd.SelectedValue.ToString();</p><p><b>  }</b></p><p><b>  }</b></p&g

111、t;<p>  else if (this.ddlYear.SelectedValue != null)</p><p><b>  {</b></p><p>  Year = this.ddlYear.SelectedValue.ToString();</p><p>  YearEnd = this.ddlYear.Sele

112、ctedValue.ToString();</p><p><b>  }</b></p><p>  else if (this.ddlYearEnd.SelectedValue != null)</p><p><b>  {</b></p><p>  Year = this.ddlYearE

113、nd.SelectedValue.ToString();</p><p>  YearEnd = this.ddlYearEnd.SelectedValue.ToString();</p><p><b>  }</b></p><p>  Session["YearReportStrat"] = Year.ToString

114、();</p><p>  Session["YearReportEnd"] = YearEnd.ToString();</p><p>  string strWhere = " ";//查詢(xún)條件</p><p>  if (this.ddlDept.SelectedValue != "" &&a

115、mp; this.ddlDept.SelectedValue != null)</p><p><b>  {</b></p><p>  strWhere += " and A.DeptID='" + this.ddlDept.SelectedValue + "'";</p><p>&

116、lt;b>  }</b></p><p>  if (this.txtName.Text.Trim() != "" && this.txtName.Text.Trim() != null)</p><p><b>  {</b></p><p>  strWhere += " an

117、d A.name like '%" + this.txtName.Text.Trim() + "%'";</p><p><b>  }</b></p><p>  #region 報(bào)表</p><p><b>  //獲得人員</b></p><p>

118、;  string PersonSQL = " select A.OID,A.name,B.Name DeptID from Org_EMPLOYEE A,Org_Department B where A.FlagAccount=1 " + strWhere;</p><p>  PersonSQL += " and A.DeptID=B.OID order by A.OrgID,A

119、.name ";</p><p>  DataTable dtPerson = new DataTable();</p><p>  dtPerson = Comm.ExecuteDataTable(PersonSQL);</p><p>  if (dtPerson.Rows.Count > 0)</p><p><b

120、>  {</b></p><p>  Control controlReportPerson = new Control();</p><p>  for (int i = 0; i < dtPerson.Rows.Count; i++)</p><p>  {//是不過(guò)慮沒(méi)有年度工作的人員信息</p><p>  i

121、f (this.chNoWork.Checked)</p><p><b>  {</b></p><p>  string sql = " exec existYearWork '" + dtPerson.Rows[i][0].ToString() + "','" + Year.ToString() +

122、 "','" + YearEnd.ToString() + "'";</p><p>  DataTable dtExist = new DataTable();</p><p>  dtExist = Comm.ExecuteDataTable(sql);</p><p>  if (dtExist.

123、Rows.Count > 0 && dtExist.Rows[0][0].ToString() != "0")</p><p><b>  {</b></p><p>  showData(dtPerson, controlReportPerson, i);</p><p><b>  }&l

124、t;/b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  showData(dtPerson, controlReportPerson, i);</p>&l

溫馨提示

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

評(píng)論

0/150

提交評(píng)論