第一篇:人事管理系統(tǒng)畢業(yè)論文設(shè)計(jì)
目錄
前 言..........................................................................................................................................................................1 1 需求分析..................................................................................................................................................................2 1.1 系統(tǒng)需求............................................................................................................................................................2 1.1 功能需求............................................................................................................................................................2 1.3 可靠性要求........................................................................................................................................................3 1.4 性能需求............................................................................................................................................................3 2 開發(fā)環(huán)境簡介...........................................................................................................................................................4 2.1 DELPHI簡介.......................................................................................................................................................4 2.1.1 Delphi7的集成開發(fā)環(huán)境(IDE)..........................................................................錯誤!未定義書簽。2.1.2 Pascal簡介...............................................................................................................錯誤!未定義書簽。2.2 SQL SERVER 2000 簡介..................................................................................................錯誤!未定義書簽。2.2.1 SQL Server 數(shù)據(jù)平臺..............................................................................................錯誤!未定義書簽。2.3 TQUERY部件在SQL編程中的運(yùn)用...............................................................................錯誤!未定義書簽。3 總體設(shè)計(jì)................................................................................................................................錯誤!未定義書簽。3.1 基本設(shè)計(jì)..........................................................................................................................錯誤!未定義書簽。3.1.1 設(shè)計(jì)概念..................................................................................................................錯誤!未定義書簽。3.1.2 功能分析..................................................................................................................錯誤!未定義書簽。3.1.3 數(shù)據(jù)流圖..................................................................................................................錯誤!未定義書簽。3.1.4 系統(tǒng)模塊..................................................................................................................錯誤!未定義書簽。3.2 用例圖..............................................................................................................................錯誤!未定義書簽。4 數(shù)據(jù)庫設(shè)計(jì)............................................................................................................................錯誤!未定義書簽。4.1 數(shù)據(jù)庫概念設(shè)計(jì)..............................................................................................................錯誤!未定義書簽。4.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)......................................................................................................錯誤!未定義書簽。5 詳細(xì)設(shè)計(jì)................................................................................................................................錯誤!未定義書簽。5.1 系統(tǒng)主窗體......................................................................................................................錯誤!未定義書簽。5.2 數(shù)據(jù)庫連接......................................................................................................................錯誤!未定義書簽。5.3 用戶登陸界面..................................................................................................................錯誤!未定義書簽。5.4 用戶功能選擇..................................................................................................................錯誤!未定義書簽。5.5 用戶信息錄入..................................................................................................................錯誤!未定義書簽。5.6 查詢功能窗體..................................................................................................................錯誤!未定義書簽。5.7 數(shù)據(jù)備份和還原窗體......................................................................................................錯誤!未定義書簽。5.8 工作日記及工作日記管理..............................................................................................錯誤!未定義書簽。5.9 用戶管理及用戶密碼修改..............................................................................................錯誤!未定義書簽。
5.10 打印報(bào)表模塊................................................................................................................錯誤!未定義書簽。5.11 數(shù)據(jù)公用模塊................................................................................................................錯誤!未定義書簽。5.12 其它模塊........................................................................................................................錯誤!未定義書簽。6 總
結(jié)......................................................................................................................................................................5 參考文獻(xiàn)......................................................................................................................................................................7 致謝..............................................................................................................................................................................8
企業(yè)人事管理系統(tǒng)
摘要:在競爭越來越激烈的社會里,企業(yè)人事管理就越顯示出其不可缺性,成為企業(yè)一個非常重要的模塊。企業(yè)人事管理系統(tǒng)主要是用于員工個人相關(guān)信息的管理。使用人事管理系統(tǒng),便于公司領(lǐng)導(dǎo)掌握人員的動向和人員的綜合素質(zhì),及時調(diào)整人才的分配,使用計(jì)算機(jī)對人事勞資信息進(jìn)行管理,具有檢索迅速、查找方便、可靠性高、存儲量大、保密性好、成本低等優(yōu)點(diǎn),能夠極大地提高人事資源管理的效率,也是企業(yè)科學(xué)化、正規(guī)化管理的重要條件。
隨著企業(yè)自身人力資源的日益龐大、復(fù)雜程度逐漸增強(qiáng),人機(jī)作坊再也無法適應(yīng)如今企業(yè)的人事管理了,取代的是運(yùn)用各種領(lǐng)域的知識,結(jié)合計(jì)算機(jī)科學(xué)而開發(fā)的人事管理系統(tǒng)。企業(yè)人事管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的數(shù)據(jù)庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。企業(yè)人事管理系統(tǒng)是對工作人員進(jìn)行統(tǒng)一的管理,可以方便的進(jìn)行錄入,查詢,修改,刪除,退出。經(jīng)過以上分析,本系統(tǒng)使用Delphi 7.0作為界面和功能開發(fā)工具和SQL Sever 2000作為后臺數(shù)據(jù)庫,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具進(jìn)行界面和數(shù)據(jù)庫開發(fā)。軟件過程結(jié)合了快速原型模型與增量模型的優(yōu)點(diǎn):首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成可行系統(tǒng)。
關(guān)鍵詞:企業(yè)人事管理;DEPHI;ADO;SQL server 2000
Personnel Management System
Abstract: Along with their own human resources increasing, complexity growing, the man-machine workshop also is unable adapt the present enterprise’s personnel management again, but the personnel management system that make use of knowledge in different fields and computer science and technology.Personnel management system is a typical management information system(MIS), including the establishment and maintenance of the background-database and front-end application development.To the former, the request for the data which is powerful in consistency and integrity, database which is good in security.For the latter, the request for the applications program which is integrity and easy to easy, Personnel management system can manage the staff and admit input, enquiries, modify, delete, and exit.Through such analysis, the system use Delphi 7.0 as the interface and functions of development tools and take SQL Sever 2000 database as background-database, the development of the interface and database which made use of its object-oriented tools, the software process is formed which is combine the advantage of rapid prototype models and incremental model, as follows: At first application prototype of system is built in a short time, Secondly, the initial prototype system needs to be revised and improved, Finally, it is feasible that the system is built.Key words: human resource management;DEPHI;ADO;SQL server 2000
前 言
背景
在競爭越來越激烈的社會里,企業(yè)人事管理就越顯示出其不可缺性,成為企業(yè)一個非常重要的模塊。企業(yè)人事管理系統(tǒng)主要是用于員工個人相關(guān)信息的管理。使用人事管理系統(tǒng),便于公司領(lǐng)導(dǎo)掌握人員的動向和人員的綜合素質(zhì),及時調(diào)整人才的分配,使用計(jì)算機(jī)對人事勞資信息進(jìn)行管理,具有檢索迅速、查找方便、可靠性高、存儲量大、保密性好、成本低等優(yōu)點(diǎn),能夠極大地提高人事資源管理的效率,也是企業(yè)科學(xué)化、正規(guī)化管理的重要條件。
目標(biāo) 設(shè)計(jì)一個企業(yè)人事信息管理系統(tǒng),此系統(tǒng)要以人為中心,為企業(yè)提供全面的人事管理解決方案; a)為企業(yè)建立規(guī)范化、實(shí)時化人事管理機(jī)制;
b)提高企業(yè)人事管理的效率、節(jié)約相關(guān)的管理成本,增強(qiáng)人事管理的安全性; c)滿足企業(yè)管理層,人事業(yè)務(wù)操作層和全體員工的不同層次和不同方面的需要; d)對企業(yè)將來的整體信息化建設(shè)提供必要的支持。需求分析
需求分析是系統(tǒng)開發(fā)必要環(huán)節(jié),也是重中之重。作為該過程的結(jié)果,需求規(guī)格說明書是對系統(tǒng)的功能和行為完整的描述。系統(tǒng)設(shè)計(jì)將來自于需求分析的抽象規(guī)格說明轉(zhuǎn)變?yōu)槊嫦蛘鎸?shí)世界的設(shè)計(jì)。一旦構(gòu)建完成,該系統(tǒng)就會投入使用,同時會不可避免地產(chǎn)生更多的新需求。同時,需求過程與分析活動之間有相當(dāng)程度的重疊,分析建模對于設(shè)定工作的范圍和其他一些事來說是必要的,所以我們利用分析模型來描述需求過程,隨著開發(fā)工作的繼續(xù),分析活動在工作中占的比例將變得越來越大,直到所有需求都已知。[1]
1.1 系統(tǒng)需求
企業(yè)的人事管理職能主要分為人事檔案信息管理、人事變動管理、員工培訓(xùn)管理、獎懲管理等內(nèi)容。a)在人事系統(tǒng)開發(fā)時應(yīng)考慮以下需求: b)滿足人事管理職能的基本要求;
c)進(jìn)行多層次數(shù)據(jù)匯總,為各層次管理者的決策分析提供數(shù)據(jù); d)具有完整的系統(tǒng)接口,滿足靈活的數(shù)據(jù)導(dǎo)入與導(dǎo)出; e)對操作人員的技能要求比較低,操作方便; f)能夠?qū)崿F(xiàn)方便的擴(kuò)展,滿足企業(yè)發(fā)展的需要;
g)能夠保障人事管理數(shù)據(jù)的安全、準(zhǔn)確。1.1 功能需求
基于系統(tǒng)需求分析,該系統(tǒng)需要實(shí)現(xiàn)以下基本功能:
a)用戶管理:管理系統(tǒng)操作人員,設(shè)置操作人員口令和權(quán)限。在滿足不同系統(tǒng)用戶的操作需求的基礎(chǔ)上,提高系統(tǒng)的安全性。
b)人事檔案管理:完成企業(yè)對員工個人檔案(包括員工的基本檔案和在職信息)的管理及相關(guān)操作。操作員進(jìn)行員工檔案信息錄入及更改,其中包括員工的基本信息、工作經(jīng)歷、家庭關(guān)系、獎懲記錄和培訓(xùn)經(jīng)歷,要求對這些員工檔案信息進(jìn)行新增、修改、刪除操作,同時可以進(jìn)行查詢和瀏覽操作。該模塊是本系統(tǒng)的重點(diǎn),用戶可以通過該模塊為單位建立一個比較完整的人事檔案系統(tǒng),同時可以對檔案進(jìn)行查看。
c)基礎(chǔ)數(shù)據(jù)管理:維護(hù)人事管理相關(guān)的一些基礎(chǔ)數(shù)據(jù)。主要包括以下功能:
(a)民族檔案設(shè)置:維護(hù)職工中民族檔案信息;
(b)職工類型設(shè)置:維護(hù)當(dāng)前企業(yè)職工與企業(yè)的關(guān)系的類別信息;(c)文化程度設(shè)置:維護(hù)企業(yè)職工的文化程度類別信息;(d)政治面貌設(shè)置:維護(hù)企業(yè)職工的政治面貌類別信息;(e)部門類別設(shè)置:維護(hù)企業(yè)中設(shè)立的部門類別信息;(f)職務(wù)類別設(shè)置:維護(hù)企業(yè)中設(shè)立的職務(wù)類別信息;
(h)職稱類別設(shè)置:維護(hù)企業(yè)職工的職稱類別信息;
d)人事變動管理:對于人事上的變動調(diào)整進(jìn)行管理,對人員檔案的信息進(jìn)行更新(如:員工職務(wù)、員工職稱、員工性質(zhì)等的變動)。
e)工作日志管理:記錄部門或系統(tǒng)用戶的一些備忘信息,包括日常的一些事件記錄,以及工作日記的管理維護(hù)。f)數(shù)據(jù)庫管理:對現(xiàn)有的數(shù)據(jù)庫進(jìn)行管理,包括數(shù)據(jù)備份和恢復(fù),以方便用戶對數(shù)據(jù)庫的管理和維護(hù)工作,提高系統(tǒng)的數(shù)據(jù)安全性。1.3 可靠性要求
a)計(jì)算機(jī)穩(wěn)定可靠,網(wǎng)絡(luò)服務(wù)和數(shù)據(jù)庫服務(wù)穩(wěn)定可靠;
b)網(wǎng)絡(luò)通暢、穩(wěn)定;軟件運(yùn)行穩(wěn)定;數(shù)據(jù)計(jì)算及數(shù)據(jù)傳輸無誤;提供數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)方案。1.4 性能需求 1)硬件環(huán)境
在最低配置的情況下,系統(tǒng)的性能往往不盡如人意,現(xiàn)在的硬件性能已經(jīng)相當(dāng)出色,且 價格也很便宜,因此通常給服務(wù)器端配置高性能硬件。推薦配置為:
·處理器:Intel 奔騰Ⅲ 或更高 ·內(nèi)存:128MB ·硬盤空間:40GB ·顯卡:Geforce系列顯示適配器或更高。2)軟件環(huán)境
·操作系統(tǒng):windows 98/ME/2000/N ·數(shù)據(jù)庫:Microsoft SQL server 2000 開發(fā)環(huán)境簡介
2.1 Delphi簡介
Delphi這個名字源于古希臘的城市名。它集中了第三代語言的優(yōu)點(diǎn)。以O(shè)bject Pascal為基礎(chǔ),擴(kuò)充了面向?qū)ο蟮哪芰?,并且完美地結(jié)合了可視化的開發(fā)手段。Delphi自1995年3月一推出就受到了人們的關(guān)注,并在當(dāng)年一舉奪得了多項(xiàng)大獎。
Delphi的出現(xiàn)打破了Visual系列可視化編程領(lǐng)域一統(tǒng)天下的局面。并且Delphi使用了本地編譯器直接生成技術(shù),使程序的執(zhí)行性能遠(yuǎn)遠(yuǎn)高于其它產(chǎn)品生成的程序。它還是真正的面向?qū)ο蟮木幊陶Z言。PASCAL語言的嚴(yán)謹(jǐn)加上可視化的優(yōu)勢和強(qiáng)大的數(shù)據(jù)庫功能使得它有充分的資本和微軟的VB叫板。許多人當(dāng)時都認(rèn)為Pascal 是最有前途的程序設(shè)計(jì)語言,并預(yù)測Delphi將會成為可視化編程的主流環(huán)境。
Delphi在你編好程序后自動轉(zhuǎn)換成。EXE文件它運(yùn)行時速度比VB快,而且編譯后不需要其他的支持庫就能運(yùn)行。它的數(shù)據(jù)庫功能也挺強(qiáng)的,是開發(fā)中型數(shù)據(jù)庫軟件理想的編程工具。Delphi適用于應(yīng)用軟件、數(shù)據(jù)庫系統(tǒng)、系統(tǒng)軟件等類型的開發(fā)。而且它擁有和VB差不多一樣的功能,而且一樣能應(yīng)用API函數(shù),這在控制Windows很有用。
Delphi是全新的可視化編程環(huán)境,為我們提供了一種方便、快捷的Windows應(yīng)用程序開發(fā)工具。它使用了Microsoft Windows圖形用戶界面的許多先進(jìn)特性和設(shè)計(jì)思想,采用了彈性可重復(fù)利用的完整的面向?qū)ο蟪绦蛘Z言(Object-Oriented Language)、當(dāng)今世界上最快的編輯器、最為領(lǐng)先的數(shù)據(jù)庫技術(shù)。對于廣大的程序開發(fā)人員來講,使用Delphi開發(fā)應(yīng)用軟件,無疑會大大地提高編程效率,而且隨著應(yīng)用的深入,您將會發(fā)現(xiàn)編程不再是枯燥無味的工作——Delphi的每一個設(shè)計(jì)細(xì)節(jié),都將帶給您一份欣喜。
Delphi實(shí)際上是Pascal語言的一種版本,但它與傳統(tǒng)的Pascal語言有天壤之別。一個Delphi程序首先是應(yīng)用程序框架,而這一框架正是應(yīng)用程序的“骨架”。在骨架上即使沒有附著任何東西,仍可以嚴(yán)格地按照設(shè)計(jì)運(yùn)行。您的工作只是在“骨架”中加入您的程序。缺省的應(yīng)用程序是一個空白的窗體(Form),您可以運(yùn)行它,結(jié)果得到一個空白的窗口。這個窗口具有Windows窗口的全部性質(zhì):可以被放大縮小、移動、最大最小化等,但您卻沒有編寫一行程序。因此,可以說應(yīng)用程序框架通過提供所有應(yīng)用程序共有的東西,為用戶應(yīng)用程序的開發(fā)打下了良好的基礎(chǔ)。
Delphi已經(jīng)為您做好了一切基礎(chǔ)工作——程序框架就是一個已經(jīng)完成的可運(yùn)行應(yīng)用程序,只是不處理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代碼而已。在空白窗口的背后,應(yīng)用程序的框架正在等待用戶的輸入。由于您并未告訴它接收到用戶輸入后作何反應(yīng),窗口除了響應(yīng)所有Windows的基本操作(移動、縮放等)外,它只是接受用戶的輸入,然后再忽略。Delphi把Windows編程的回調(diào)、句柄處理等繁復(fù)過程都放在一個不可見的Romulam覆蓋物下面,這樣您可以不為它們所困擾,輕松從容地對可視部件進(jìn)行編程。
面向?qū)ο蟮某绦蛟O(shè)計(jì)(Object-Oriented Programming,簡記為OOP)是Delphi誕生的基礎(chǔ)。OOP立意于創(chuàng)建軟件重用代碼,具備更好地模擬現(xiàn)實(shí)世界環(huán)境的能力,這使它被公認(rèn)為是自上而下編程的優(yōu)勝者。它通過給程序中加入擴(kuò)展語句,把函數(shù)“封裝”進(jìn)Windows編程所必需的“對象”中。面向?qū)ο蟮木幊陶Z言使得復(fù)雜的工作條理清晰、編寫容易。
說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。對象并不與傳統(tǒng)程序設(shè)計(jì)和編程方法兼
其中多媒體音頻視頻播放器是通過TMediaPlayer組件來實(shí)現(xiàn)的,支持的格式與系統(tǒng)已安裝的解碼器有關(guān)???/p>
結(jié)
6.1 程序設(shè)計(jì)風(fēng)格
在設(shè)計(jì)的時候采用了增量模型的思想:把軟件作為一系列的構(gòu)件來設(shè)計(jì),編碼,集成和測試。用戶管理,密碼修改,用戶登陸,萬年歷,這些模塊都有高度的獨(dú)立性,因此他們的可重用性比較高,基本上是一個單元完成一個功能,模塊規(guī)模也比較小,模塊的作用域在控制域之內(nèi),只使用了兩個全局變量來存儲用戶名和用戶權(quán)限。[1]
在人機(jī)界面設(shè)計(jì)方面,本系統(tǒng)做到了以下幾點(diǎn): a)保持一致性(界面,背景的致性);
b)提供有意義的反饋(用戶驗(yàn)證和用戶管理,提供了比較精確的反饋信息); c)在執(zhí)行有較大破壞性的動作之前要求用戶確認(rèn)(數(shù)據(jù)備份與還原); d)允許大多數(shù)取消操作(大多數(shù)單元有取消操作功能);
e)允許犯錯誤(由于權(quán)限的限制,系統(tǒng)能保護(hù)自己不受嚴(yán)重錯誤的破壞); f)按功能對動作分類(在主窗口就是按動作類型組織菜單的); 6.2 有待加強(qiáng)項(xiàng)
a)幫助的制作 一個完整的應(yīng)用程序必須具有完整的幫助系統(tǒng);幫助系統(tǒng)可以在必要的時候給用戶信息提示和一些系統(tǒng)相關(guān)服務(wù)。
b)聲音制作 在這里主要是對聲音的加載,我們可以加載一些一般的聲音;主要來源有:音頻CD盤;波形音頻文件;MP3文件等等。其中波形音頻文件以WAV作為文件的后綴,我們可以播放現(xiàn)成的,也可以播放自己錄制的文件。
c)我們還可以使用各種組件和ActiveX控件等技術(shù)來完善系統(tǒng)。利用一些做好的activeX組件,會縮短開發(fā)周期。
由于在開發(fā)工程方面缺少經(jīng)驗(yàn),所以這個系統(tǒng)還存在著許多不足之處,在測試過程中總結(jié)如下: a)數(shù)據(jù)表的設(shè)計(jì)還不是很合理;
b)數(shù)據(jù)異常處理要更加人性化,錯誤信息的反饋要更加精確; 6.3 心得
經(jīng)過一個月的設(shè)計(jì)和開發(fā),人事管理系統(tǒng)基本開發(fā)完畢,其基本功能符合用戶需求,能夠完成基礎(chǔ)數(shù)據(jù)錄入,數(shù)據(jù)查詢等基本功能,以及相關(guān)報(bào)表的打印。
在這次畢業(yè)設(shè)計(jì)中,我獲益良多。首先我明白了需求分析對于一個系統(tǒng)的開發(fā)的重要性。其次我還學(xué)到了如何把一個軟件作為一個工程來做,在真正的軟件開發(fā)中,一個軟件系統(tǒng)的開發(fā)不是一個人來做,而是很多人合作來完成的,另外還有軟件的后期維護(hù)等等,這時就顯現(xiàn)出了把軟件作為一個工程來做的優(yōu)越性,而這些都離不開數(shù)據(jù)流圖和模塊的分解。
Delphi是一個非常強(qiáng)大的開發(fā)工具,它具有運(yùn)行速度快、易于學(xué)習(xí)和使用以及開發(fā)效率高的特點(diǎn),使用起來真的是很順手。學(xué)習(xí)好一門編程語言以后可以為今后的學(xué)習(xí)和工作帶來很大的便利。
雖然本系統(tǒng)實(shí)現(xiàn)了基本的用戶需求功能,但是還有待于完善和加強(qiáng),總之通過這次設(shè)計(jì)和開發(fā)過程,我對軟件開發(fā)有了進(jìn)一步的了解。
參考文獻(xiàn)
[1] 張海藩編著.軟件工程導(dǎo)論[M].清華大學(xué)出版社出版,2003,1-173.
[2] 宋一兵,趙景波,李春艷著.Delphi 7.0基礎(chǔ)教程[M].機(jī)械工業(yè)出版社,2003,2-30. [3] 劉瑤儒著.新概念SQL Server2000教程[M].北京科海集團(tuán)公司出,2001,12-23. [4] 韓強(qiáng)編著.SQL SERVER 2000 程序員手冊[M].機(jī)械工業(yè)出版社出版,2000,4-35. [5] 薩師煊著.?dāng)?shù)據(jù)庫系統(tǒng)概論(第二版)[M].高等教育出版社,1991,8-40. [6] 施伯樂,丁寶康,汪衛(wèi)著.?dāng)?shù)據(jù)庫系統(tǒng)教程[M].高等教育出版社,2002,1-202.
[7] 肖健著.SQL Server2000實(shí)踐與提高[M].中國電子出版社,2002,13-53. [8] 林金霖著.Delphi6 實(shí)務(wù)經(jīng)典[M].中國鐵道出版社,2002年5月,6-110.
[9] 黃超,王志偉著.Delphi企業(yè)經(jīng)營管理系統(tǒng)開發(fā)實(shí)例導(dǎo)航[M].人民郵電出版社,2003,20-90. [10] 程文剛主編.Delphi數(shù)據(jù)庫實(shí)用編程100例[M].中國鐵道出版社,2004,8-63. [11] 王晟,萬科著.Delphi數(shù)據(jù)庫開發(fā)經(jīng)典案例解析[M].清華大學(xué)出版社,2005,85-89. [12] 王惠剛,唐晨光 彭為著.delphi7/8程序設(shè)計(jì)[M].清華大學(xué)出版社, 2002,42-63.
[13] 瀟湘工作室,邢增平著.Delphi 6.0最佳專輯[M].人民郵電出版社,2003,1-404. [14] 心鈴.Delphi問答.軟件報(bào)[N],2004-07-5.
[15] 高永惠.淺談Delphi中的異常處理方法[J].湖南輕工業(yè)高等??茖W(xué)校學(xué)報(bào),2002-04,9-10.
[16] 徐萌飛.在Delphi中使用ADO技術(shù)對數(shù)據(jù)庫操作[J].中國學(xué)術(shù)期刊(光盤版)電子雜志社,2001,12-13. [17] 陳建兵.Delphi中基于安全靈活的動態(tài)連接遠(yuǎn)程數(shù)據(jù)庫SQL的實(shí)現(xiàn)[J].福建電腦,2005,12-13. [18] 孫育紅.關(guān)于地方法院管理信息系統(tǒng)分析設(shè)計(jì)與實(shí)施[D].中國學(xué)術(shù)期刊電子雜志社,2001,8-9.
[19] 岳冰.南部引嫩工程信息管理系統(tǒng)開發(fā)[D].中國學(xué)術(shù)期刊電子雜志社,2003,20-21.
[20] 龐芳,王麗玫.南寧市自動氣象站業(yè)務(wù)服務(wù)數(shù)據(jù)庫系統(tǒng)[D].中國學(xué)術(shù)期刊電子雜志社,2004,21-23.
[21] 徐軍.研究生院綜合管理信息系統(tǒng)的研究與實(shí)現(xiàn)[D].中國學(xué)術(shù)期刊)電子雜志社,2004,32-33.
[22] 魯媛媛.碩士生導(dǎo)師綜合素質(zhì)能力評價指標(biāo)體系的研究[D].中國學(xué)術(shù)期刊電子雜志社,2005,18-19.
致謝
在這里我要我對給予我指導(dǎo)和幫助的曹步青老師以及在測試階段提供機(jī)器和意見的同學(xué)表示我誠至的謝意。曹老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神使我受益匪淺。無論在理論和實(shí)踐中,都給了我很大的幫助,使我綜合素質(zhì)提高不少,這對于我以后的學(xué)習(xí)和工作都有一種很大的幫助。
暨畢業(yè)論文答辯之際,我要忠心感謝湖南科技大學(xué)和計(jì)算機(jī)科學(xué)與工程學(xué)院的各位老師大學(xué)四年來對我的辛勤培養(yǎng)和悉心教育,是科大提供了學(xué)習(xí)機(jī)會,是各位老師傳授了我專業(yè)知識和做人的道理。
最后,再一次感謝我的恩師!感謝我的母校!祝各位老師身體健康,工作順心!愿我校的教育事業(yè)蓬勃發(fā)展!
參考文獻(xiàn)
[23] 張海藩編著.軟件工程導(dǎo)論[M].清華大學(xué)出版社出版,2003,1-173.
[24] 宋一兵,趙景波,李春艷著.Delphi 7.0基礎(chǔ)教程[M].機(jī)械工業(yè)出版社,2003,2-30. [25] 劉瑤儒著.新概念SQL Server2000教程[M].北京科海集團(tuán)公司出,2001,12-23. [26] 韓強(qiáng)編著.SQL SERVER 2000 程序員手冊[M].機(jī)械工業(yè)出版社出版,2000,4-35. [27] 薩師煊著.?dāng)?shù)據(jù)庫系統(tǒng)概論(第二版)[M].高等教育出版社,1991,8-40. [28] 施伯樂,丁寶康,汪衛(wèi)著.?dāng)?shù)據(jù)庫系統(tǒng)教程[M].高等教育出版社,2002,1-202.
[29] 肖健著.SQL Server2000實(shí)踐與提高[M].中國電子出版社,2002,13-53. [30] 林金霖著.Delphi6 實(shí)務(wù)經(jīng)典[M].中國鐵道出版社,2002年5月,6-110.
[31] 黃超,王志偉著.Delphi企業(yè)經(jīng)營管理系統(tǒng)開發(fā)實(shí)例導(dǎo)航[M].人民郵電出版社,2003,20-90. [32] 程文剛主編.Delphi數(shù)據(jù)庫實(shí)用編程100例[M].中國鐵道出版社,2004,8-63. [33] 王晟,萬科著.Delphi數(shù)據(jù)庫開發(fā)經(jīng)典案例解析[M].清華大學(xué)出版社,2005,85-89. [34] 王惠剛,唐晨光 彭為著.delphi7/8程序設(shè)計(jì)[M].清華大學(xué)出版社, 2002,42-63.
[35] 瀟湘工作室,邢增平著.Delphi 6.0最佳專輯[M].人民郵電出版社,2003,1-404. [36] 心鈴.Delphi問答.軟件報(bào)[N],2004-07-5.
[37] 高永惠.淺談Delphi中的異常處理方法[J].湖南輕工業(yè)高等??茖W(xué)校學(xué)報(bào),2002-04,9-10.
[38] 徐萌飛.在Delphi中使用ADO技術(shù)對數(shù)據(jù)庫操作[J].中國學(xué)術(shù)期刊(光盤版)電子雜志社,2001,12-13. [39] 陳建兵.Delphi中基于安全靈活的動態(tài)連接遠(yuǎn)程數(shù)據(jù)庫SQL的實(shí)現(xiàn)[J].福建電腦,2005,12-13. [40] 岳冰.南部引嫩工程信息管理系統(tǒng)開發(fā)[D].中國學(xué)術(shù)期刊電子雜志社,2003,20-21.
第二篇:企業(yè)人事管理系統(tǒng)畢業(yè)論文設(shè)計(jì)[推薦]
江蘇廣播電視大學(xué)楚州學(xué)院
畢業(yè)設(shè)計(jì)(論文)
企業(yè)人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
學(xué) 院 楚州學(xué)院 專 業(yè) 計(jì)算機(jī)信息管理 年級班別 2009年 學(xué) 號 20097320081048 學(xué)生姓名 張 美 玲 指導(dǎo)教師 張 震
摘 要
在當(dāng)今社會,互聯(lián)網(wǎng)空前的發(fā)展,給人們的工作和生活帶來了極大的便利和高效,信息化,電子化已經(jīng)成為節(jié)約運(yùn)營成本,提高工作效率的首選。考慮到當(dāng)前大量企業(yè)的人事管理尚處于手工作業(yè)階段,不但效率低下,還常常因?yàn)楣芾淼牟簧鞫霈F(xiàn)紕漏。因此根據(jù)部分企業(yè)提供的需求,設(shè)計(jì)此企業(yè)人事管理系統(tǒng),以幫助企業(yè)達(dá)到人事管理辦公自動化、節(jié)約管理成本、提高企業(yè)工作效率的目的。
本企業(yè)人事管理系統(tǒng)采用C/S結(jié)構(gòu),主要對企業(yè)員工的信息以及跟人事相關(guān)的工作流程進(jìn)行集中的管理,方便企業(yè)建立一個完善的、強(qiáng)大的員工信息數(shù)據(jù)庫。它是以.NET2005.和SQL 2005 Express數(shù)據(jù)庫作為開發(fā)平臺。使用C# 設(shè)計(jì)操作控件和編寫操作程序,完成數(shù)據(jù)輸入、修改、存儲、調(diào)用查詢等功能;并使用SQL 2005數(shù)據(jù)庫形成數(shù)據(jù)表,進(jìn)行數(shù)據(jù)存儲。
本文詳細(xì)介紹了企業(yè)人事管理系統(tǒng)的功能需求,系統(tǒng)設(shè)計(jì)和具體實(shí)現(xiàn)。并簡要介紹了系統(tǒng)開發(fā)采用的過程方法。
關(guān)鍵詞
企業(yè)人事管理系統(tǒng);C/S;員工信息數(shù)據(jù)庫
II
1企業(yè)人事管理系統(tǒng)
企業(yè)人事管理系統(tǒng)....................................................3 1前言..............................................................3
1.1 應(yīng)用的目的與意義............................................3 1.2 人事管理系統(tǒng)發(fā)展趨勢.......................................3
1.2.2 世界趨勢...............................................3 1.2.3 技術(shù)革新...............................................4 1.2.4 工作目標(biāo)和價值觀的改變.................................4 1.3 系統(tǒng)調(diào)研....................................................4
1.3.1 社會可行性分析.........................................4 1.3.2 技術(shù)可行性分析.........................................4 1.3.3 經(jīng)濟(jì)可行性分析.........................................5 1.3.4 管理可行性分析.........................................5 1.4 研究內(nèi)容....................................................5 2開發(fā)工具及其語言特點(diǎn)..............................................6
2.1 Visual Studio.NET主要特點(diǎn)如下...............................6
2.2.1簡潔的語法.............................................7 2.2.2精心地面向?qū)ο笤O(shè)計(jì).....................................8 2.2.3與Web的緊密結(jié)合.......................................8 2.2.4完整的安全性與錯誤處理.................................9 2.2.5版本處理技術(shù)...........................................9 2.2.6靈活性和兼容性........................................10 3.1SQL2005主要特點(diǎn).............................................10 3.1.1.NET框架..............................................10 3.1.2XML技術(shù)...............................................11 3.1.3ADO.NET2.0版本........................................11 3.1.4增強(qiáng)的安全性..........................................11 3.1.5Transact-SQL的增強(qiáng)性能................................11 3.1.6SQL服務(wù)中介...........................................11 3.1.7通告服務(wù)..............................................11 3.1.8Web服務(wù)...............................................12 3.1.9報(bào)表服務(wù)..............................................12 3.1.10全文搜索功能的增強(qiáng)...................................12 3.2C#與ADO.NET.................................................12 3.2.1 C#中的數(shù)據(jù)庫訪問.....................................12 3.2.2 數(shù)據(jù)綁定..............................................23 3.3 SQL語言...................................................24 3.3.1表定義語句............................................24 3.3.2視圖定義語句..........................................24 3.3.3索引定義語句..........................................24 3.3.4數(shù)據(jù)操縱語句..........................................25 3.3.5INSERT語句............................................25 3.3.6UPDATE語句............................................25 3.3.7DELETE語句............................................25 3.3.8查詢語句..............................................25
第1頁
2企業(yè)人事管理系統(tǒng)
3.3.9條件查詢..............................................26 3.3.10查詢排序.............................................26 3.3.11統(tǒng)計(jì)查詢.............................................26 3.3.12Group by子句.........................................26 3.3.13Distinct關(guān)鍵詞.......................................26 3.3.14Top關(guān)鍵詞............................................27 3.3.15多表查詢.............................................27 3.3.16多重查詢.............................................27 3.3.17EXISTS關(guān)鍵詞.........................................27 4系統(tǒng)需求分析.....................................................28 4.1系統(tǒng)流程圖如下..............................................28 5 致謝.............................................................49 附錄F 各模塊實(shí)現(xiàn)的主要源代碼.....................................47 F1.1登錄模塊的設(shè)計(jì)與實(shí)現(xiàn)的主要代碼.............................47 }..............................................................48 F1.2登陸實(shí)體類:...............................................48 F1.3 員工管理模塊的設(shè)計(jì)與實(shí)現(xiàn)的主要代碼.......................49 F1.3.1員工管理實(shí)現(xiàn)的主要代碼:.................................49 F1.3.2 部門管理實(shí)現(xiàn)主要代碼:.................................50 }..............................................................52 F1.3.3工資管理主要代碼:.......................................53 }..............................................................56 F1.3.4考勤信息設(shè)計(jì)與實(shí)現(xiàn)主要代碼:.............................56 }..............................................................60 F1.4 數(shù)據(jù)訪問類:..............................................60 }..............................................................62 F1.5生日提醒主要代碼:.........................................62 F1.6啟動第三方EXE文件操作類:.................................63 }..............................................................63
第2頁
3企業(yè)人事管理系統(tǒng)
企業(yè)人事管理系統(tǒng)
1前言
1.1 應(yīng)用的目的與意義
人的管理是一切管理工作的核心。員工代表一個企業(yè)的形象,因而人事管理機(jī)制設(shè)計(jì)的好壞,直接影響一個企業(yè)的成敗。
員工的檔案管理是企業(yè)人事管理的基礎(chǔ),在企業(yè)員工普遍流失的今天,一個準(zhǔn)確而及時的人事管理系統(tǒng),有利于人事部門對員工流動進(jìn)行分析、編制,為企業(yè)所需人員提供了保障。
人力資源部那些重復(fù)的,事務(wù)性的工作交給HRP(Human Resource Planning,人力資源管理系統(tǒng))來解決,可以省去用戶以往人力資源管理工作的繁瑣、枯燥;用領(lǐng)先的人力資源管理理念,把人力資源管理的作業(yè)流程控制和戰(zhàn)略規(guī)劃設(shè)計(jì)巧妙地集合于一體;系統(tǒng)重點(diǎn)涉及到人力資源管理工作中的薪資、考勤、績效、調(diào)動、基本信息、用戶管理以及用戶切換等方面,并有綜合的系統(tǒng)安全設(shè)置、報(bào)表綜合管理模塊??梢院芎玫貫橛脩舻娜肆Y源管理部門在對員工的成本管理、知識管理、績效管理等綜合管理給予幫助。以每個月中所發(fā)工資為例,其中包括考勤、人事信息變動、獎懲、遲到和曠工對本月的薪資計(jì)算都有影響,為了及時的計(jì)算發(fā)放工資往往要提前一個星期花費(fèi)大量時間,加班加點(diǎn)才能及時完成,而這樣做無論從工作效率還是準(zhǔn)確度方面,都不允許,而且還浪費(fèi)大量的人力財(cái)力。如果改用HRP管理做到高效、高精度,還可以減少管理時帶來的一些繁瑣的工作,節(jié)約管理帶來的開支。1.2 人事管理系統(tǒng)發(fā)展趨勢 1.2.2 世界趨勢
人力資源管理系統(tǒng)主導(dǎo)21世紀(jì),無論是發(fā)達(dá)國家還是發(fā)展中國家,對人力資源的戰(zhàn)略性意義都有了深刻的認(rèn)識,并開始付諸行動。世界公認(rèn),21世紀(jì)將是人力資源的世紀(jì);人力資源問題將主導(dǎo)整個21世紀(jì)甚至更為遙遠(yuǎn),這種狀況的變化起因于競爭壓力。目前,世界經(jīng)濟(jì)趨向全球化。世界經(jīng)濟(jì)的全球化過程和國
第3頁
4企業(yè)人事管理系統(tǒng)
家的開放過程,要求組織的管理部門降低管理成本以減少競爭壓力和增強(qiáng)競爭能力。對于不同的組織,人力資源成本在總成本中的比例是不一樣的。1.2.3 技術(shù)革新
無論是現(xiàn)在還是將來,工業(yè)的發(fā)展越來越多地取決于科學(xué)和技術(shù)、知識與技能。高新科技產(chǎn)業(yè)更是如此。這不僅要求員工尤其是技術(shù)人員掌握新的科學(xué)知識和技術(shù)能力,而且更重要的在于要求員工深入而快捷地掌握和應(yīng)用這些知識和技能。這就導(dǎo)致了兩個問題。第一,隨著這種技術(shù)革新的發(fā)展和知識更新速度的加快,人們有更多的職業(yè)選擇機(jī)會。第二,伴隨著這種發(fā)展以及職業(yè)選擇機(jī)會的增多,人力資源管理活動和頻繁程度加?。欢疫@種活動對科學(xué)技術(shù)的要求與它的反應(yīng)程度也更高了,進(jìn)而提高了人力資源成本。1.2.4 工作目標(biāo)和價值觀的改變
隨著社會政治和經(jīng)濟(jì)的發(fā)展,人們的工作目標(biāo)和價值觀也都發(fā)生了重要的變化。這就對人事管理部門和管理人員提出了新的要求和新的問題,不得不考慮諸如工作類型設(shè)計(jì)、崗位分析、充分尊重員工以及為他們提供良好的個人發(fā)展和自我價值實(shí)現(xiàn)的環(huán)境與條件等問題。這樣,人力資源管理就派上了用場。1.3 系統(tǒng)調(diào)研
1.3.1 社會可行性分析
隨著計(jì)算機(jī)的發(fā)展與普及,以及互聯(lián)網(wǎng)技術(shù)的擴(kuò)展,日常勞資人事管理必將實(shí)現(xiàn)無紙化辦公,并且加入到公司內(nèi)部的Intranet或者是Internet上去,實(shí)現(xiàn)數(shù)據(jù)的共享,這樣有利于勞資人事信息在單位內(nèi)部的查詢,提高了數(shù)據(jù)資源的利用,并且能及時的得到更新,不需要象過去那樣浪費(fèi)大量的人力物力去進(jìn)行抄寫,提高了工作的效率 1.3.2 技術(shù)可行性分析
Visual Studio.NET提供了一個統(tǒng)一的、緊密集成的可視化編程環(huán)境,簡化了開發(fā)應(yīng)用程序的過程,縮短了實(shí)用方法的時間。利用Visual Studio.NET,可
第4頁
5企業(yè)人事管理系統(tǒng)
以非常輕松地創(chuàng)建具有自動伸縮能力的可靠的應(yīng)用程序和組件。而且微軟的優(yōu)秀成果c#語言保持了c/c++所特有的強(qiáng)大功能和控制能力。與c++十分相似的模型和語法,具有與COM+服務(wù)完全的交互性和完全支持能力,能夠輕松地遷移現(xiàn)有的代碼。數(shù)據(jù)庫方面SQL2005已經(jīng)可以滿足中小型企業(yè)的數(shù)據(jù)要求,甚至有些大型企業(yè)都可以達(dá)到要求。如今進(jìn)算計(jì)普及程度日益推廣,計(jì)算機(jī)配置日新月異,能承載此系統(tǒng)的機(jī)器就如辦公的機(jī)器都可以達(dá)到要求。所以說本系統(tǒng)具有技術(shù)可行性。
1.3.3 經(jīng)濟(jì)可行性分析 采用傳統(tǒng)的手工輸入方法,不僅工作繁瑣而且需要人力輸入多,記錄容易出錯,那樣產(chǎn)生了成本高,效果差的弊病,對于一個企業(yè)的資料庫建立是十分困難和麻煩的。而采用這種系統(tǒng)所發(fā)費(fèi)的成本,精力都遠(yuǎn)遠(yuǎn)低于手工,并且實(shí)用十分方便,更新也簡易,每個部門只需一個人統(tǒng)一管理,對企業(yè)實(shí)現(xiàn)辦公無紙化能起到很大的作用。所以此系統(tǒng)經(jīng)濟(jì)可行性也具備了。1.3.4 管理可行性分析
本系統(tǒng)采用了系統(tǒng)數(shù)據(jù)備份、恢復(fù)的功能,而且界面層次分明,一目了然,加上設(shè)計(jì)方面加入了人性化元素。管理此系統(tǒng)并不難,易學(xué)易會。1.4 研究內(nèi)容
本論文共分為5章。第1章緒論,介紹了本課題的應(yīng)用目的和意義、人事管理系統(tǒng)、可行性分析和研究內(nèi)容。第2章介紹了開發(fā)工具及其特點(diǎn)、數(shù)據(jù)庫技術(shù)。第3章主要介紹了系統(tǒng)的設(shè)計(jì)與分析,包括總體設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、詳細(xì)設(shè)計(jì)等。第4章主要介紹系統(tǒng)實(shí)現(xiàn),即系統(tǒng)各種模塊的功能實(shí)現(xiàn)。第5章為本課題完成成果和發(fā)展期望的總結(jié)。
本論文主要利用C#可視化技術(shù)及SQL數(shù)據(jù)庫開發(fā)技術(shù),對員工管理與考勤管理系統(tǒng)進(jìn)行系統(tǒng)化、細(xì)致化和完善化的分析研究。
第5頁
6企業(yè)人事管理系統(tǒng)
2開發(fā)工具及其語言特點(diǎn)
2.1 Visual Studio.NET主要特點(diǎn)如下 2.1.1提供加速開發(fā)過程的高效工具
Visual Studio.NET提供了一個統(tǒng)一的、緊密集成的可視化編程環(huán)境,以幫助用戶簡化開發(fā)網(wǎng)絡(luò)應(yīng)用程序的過程,縮短學(xué)習(xí)使用方法的時間。它提供了一種新的語言——C#。通過共享的HTML、XML和樣式單編輯器,用戶可以輕松地借助包括C#在內(nèi)的任何一種Visual Studio語言來開發(fā)網(wǎng)絡(luò)應(yīng)用程序。2.1.2 提供對各種網(wǎng)絡(luò)應(yīng)用程序的快速設(shè)計(jì)能力
借助Web Form,用戶可以用他們在開發(fā)基于窗體的桌面應(yīng)用程序時所使用的技巧來創(chuàng)建跨平臺、跨瀏覽器的網(wǎng)絡(luò)應(yīng)用程序。2.1.3 利用XML和Web Service來簡化分布式計(jì)算
Web Service借助標(biāo)準(zhǔn)的Intemet協(xié)議在網(wǎng)絡(luò)上調(diào)用商務(wù)邏輯。HTTP被作為Web Service傳輸?shù)幕A(chǔ)協(xié)議,該協(xié)議使得對功能的請求能夠穿越各種團(tuán)體所使用的防火墻。XML被用來對上述功能請求的參數(shù)進(jìn)行格式統(tǒng)一,從而使這些請求能夠使用于所有的軟件和硬件。這樣使得對Web Service的訪問可以通過任何一種語言、使用任何一種組件模型在任何一種操作系統(tǒng)上實(shí)現(xiàn)。2.1.4快速構(gòu)建中間層商務(wù)組件
Visual Studio的一個核心目標(biāo)就是要為基于服務(wù)器的應(yīng)用程序提供應(yīng)用程序快速部署工具。利用Visual Studio.NET創(chuàng)建的組件將為您的商務(wù)運(yùn)作提供足夠的功能和伸縮性。
2.1.5構(gòu)建可靠的可伸縮解決方案
利用Visual Studio.NET,用戶可以非常輕松地創(chuàng)建具有自動伸縮能力的可靠的應(yīng)用程序和組件。2.2 C#技術(shù)概述
C#在帶來對應(yīng)用程序的快速開發(fā)能力的同時,并沒有犧牲C與C++程序員所關(guān)心的各種特性。它忠實(shí)地繼承了C和C++的優(yōu)點(diǎn)。如果你對C或C++有所了解,你會發(fā)現(xiàn)它是那樣的熟悉。即使你是一位新手,C#也不會給你帶來任何其它的麻煩,第6頁
7企業(yè)人事管理系統(tǒng)
快速應(yīng)用程序開發(fā)(Rapid Application Development,RAD)的思想與簡潔的語法將會使你迅速成為一名熟練的開發(fā)人員。
C#是專門為.NET應(yīng)用而開發(fā)出的語言。這從根本上保證了C#與.NET框架的完美結(jié)合。在.NET運(yùn)行庫的支持下,.NET框架的各種優(yōu)點(diǎn)在C#中表現(xiàn)得淋漓盡致。C#的一些突出的特點(diǎn) ●簡潔的語法
●精心地面向?qū)ο笤O(shè)計(jì) ●與Web的緊密結(jié)合 ●完整的安全性與錯誤處理 ●版本處理技術(shù) ●靈活性與兼容性 2.2.1簡潔的語法
在缺省的情況下,C#的代碼在.NET框架提供的“可操縱”環(huán)境下運(yùn)行,不允許直接地內(nèi)存操作。它所帶來的最大的特色是沒有了指針。與此相關(guān)的是,那些在C++中被瘋狂使用的操作符(例如:“::”、“->”和“.,”)已經(jīng)不再出現(xiàn)。C#只支持一個“.”,對于我們來說,現(xiàn)在需要理解的一切僅僅是名字的嵌套而已。
C#用真正的關(guān)鍵字換掉了那些把活動模板庫(Active Template Library,ALT)和COM搞得亂糟糟的偽關(guān)鍵字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每種C#操作符在.NET類庫中都有了新名字。
語法中的冗余是C++中的常見的問題,比如“const”和“#define”、各種各樣的字符類型等等。C#對此進(jìn)行了簡化,只保留了常見的形式,而別的冗余形式從它的語法結(jié)構(gòu)中被清除了出去。
第7頁
8企業(yè)人事管理系統(tǒng)
2.2.2精心地面向?qū)ο笤O(shè)計(jì)
從Smalltalk開始,面向?qū)ο蟮脑掝}就始終纏繞著任何一種現(xiàn)代程序設(shè)計(jì)語言。的確,C#具有面向?qū)ο蟮恼Z言所應(yīng)有的一切特性:封裝、繼承與多態(tài)性,這并不出奇。然而,通過精心地面向?qū)ο笤O(shè)計(jì),從高級商業(yè)對象到系統(tǒng)級應(yīng)用,C#建造廣泛組件的絕對選擇。在C#的類型系統(tǒng)中,每種類型都可以看作一個對象。C#提供了一個叫做裝箱(boxing)與拆箱(unboxing)的機(jī)制來完成這種操作,而不給使用者帶來麻煩,這在以后的章節(jié)中將進(jìn)行更為詳細(xì)的介紹。
C#只允許單繼承,即一個類不會有多個基類,從而避免了類型定義的混亂。在后面的學(xué)習(xí)中你很快會發(fā)現(xiàn),C#中沒有了全局函數(shù),沒有了全局變量,也沒有了全局常數(shù)。一切的一切,都必須封裝在一個類之中。你的代碼將具有更好的可讀性,并且減少了發(fā)生命名沖突的可能。整個C#的類模型是建立在.NET虛擬對象系統(tǒng)(Visual Object System,VOS)的基礎(chǔ)之上,其對象模型是.NET基礎(chǔ)架構(gòu)的一部分,而不再是其本身的組成部分。在下面將會談到,這樣做的另一個好處是兼容性。
借助于從VB中得來的豐富的RAD經(jīng)驗(yàn),C#具備了良好的開發(fā)環(huán)境。結(jié)合自身強(qiáng)大的面向?qū)ο蠊δ?,C#使得開發(fā)人員的生產(chǎn)效率得到極大的提高。對于公司而言,軟件開發(fā)周期的縮短將能使它們更好應(yīng)付網(wǎng)絡(luò)經(jīng)濟(jì)的競爭。在功能與效率的杠桿上人們終于找到了支點(diǎn)。2.2.3與Web的緊密結(jié)合
.NET中新的應(yīng)用程序開發(fā)模型意味著越來越多的解決方案需要與Web標(biāo)準(zhǔn)相統(tǒng)一,例如超文本標(biāo)記語言(Hypertext Markup Language,HTML)和XML。由于歷史的原因,現(xiàn)存的一些開發(fā)工具不能與Web緊密地結(jié)合。SOAP的使用使得C#克服了這一缺陷,大規(guī)模深層次的分布式開發(fā)從此成為可能。
由于有了Web服務(wù)框架的幫助,對程序員來說,網(wǎng)絡(luò)服務(wù)看起來就象是C#的本地對象。程序員們能夠利用他們已有的面向?qū)ο蟮闹R與技巧開發(fā)Web服務(wù)。僅需要使用簡單的C#語言結(jié)構(gòu),C#組件將能夠方便地為Web服務(wù),并允許它們通
第8頁
9企業(yè)人事管理系統(tǒng)
過Internet被運(yùn)行在任何操作系統(tǒng)上的任何語言所調(diào)用。舉個例子,XML已經(jīng)成為網(wǎng)絡(luò)中數(shù)據(jù)結(jié)構(gòu)傳遞的標(biāo)準(zhǔn),為了提高效率,C#允許直接將XML數(shù)據(jù)映射成為結(jié)構(gòu)。這樣就可以有效的處理各種數(shù)據(jù)。2.2.4完整的安全性與錯誤處理
語言的安全性與錯誤處理能力,是衡量一種語言是否優(yōu)秀的重要依據(jù)。任何人都會犯錯誤,即使是最熟練的程序員也不例外:忘記變量的初始化,對不屬于自己管理范圍的內(nèi)存空間進(jìn)行修改,這些錯誤常常產(chǎn)生難以預(yù)見的后果。一旦這樣的軟件被投入使用,尋找與改正這些簡單錯誤的代價將會是讓人無法承受的。C#的先進(jìn)設(shè)計(jì)思想可以消除軟件開發(fā)中的許多常見錯誤,并提供了包括類型安全在內(nèi)的完整的安全性能。為了減少開發(fā)中的錯誤,C#會幫助開發(fā)者通過更少的代碼完成相同的功能,這不但減輕了編程人員的工作量,同時更有效地避免了錯誤的發(fā)生。
.NET運(yùn)行庫提供了代碼訪問安全特性,它允許管理員和用戶根據(jù)代碼的ID來配置安全等級。在缺省情況下,從Internet和Intranet下載的代碼都不允許訪問任何本地文件和資源。比方說,一個在網(wǎng)絡(luò)上的共享目錄中運(yùn)行的程序,如果它要訪問本地的一些資源,那么異常將被觸發(fā),它將會無情地被異常扔出去,若拷貝到本地硬盤上運(yùn)行則一切正常。內(nèi)存管理中的垃圾收集機(jī)制減輕了開發(fā)人員對內(nèi)存管理的負(fù)擔(dān)。.NET平臺提供的垃圾收集器(Garbage Collection,GC)將負(fù)責(zé)資源的釋放與對象撤銷時的內(nèi)存清理工作。
變量類型是安全的。C#中不能使用未初始化的變量,對象的成員變量由編譯器負(fù)責(zé)將其置為零,當(dāng)局部變量未經(jīng)初始化而被使用時,編譯器將做出提醒;C#不支持不安全的指向,不能將整數(shù)指向引用類型,例如對象,當(dāng)進(jìn)行下行指向時,C#將自動驗(yàn)證指向的有效性;C#中提供了邊界檢查與溢出檢查功能。2.2.5版本處理技術(shù)
C#提供內(nèi)置的版本支持來減少開發(fā)費(fèi)用,使用C#將會使開發(fā)人員更加輕易地開發(fā)和維護(hù)各種商業(yè)用戶。升級軟件系統(tǒng)中的組件(模塊)是一件容易產(chǎn)生錯
第9頁
10企業(yè)人事管理系統(tǒng)
誤的工作。在代碼修改過程中可能對現(xiàn)存的軟件產(chǎn)生影響,很有可能導(dǎo)致程序的崩潰。為了幫助開發(fā)人員處理這些問題,C#在語言中內(nèi)置了版本控制功能。例如:函數(shù)重載必須被顯式聲明,而不會象在C++或java中經(jīng)常發(fā)生的那樣不經(jīng)意地被進(jìn)行,這可以防止代碼級錯誤和保留版本化的特性。另一個相關(guān)的特性是接口和接口繼承的支持。這些特性可以保證復(fù)雜的軟件可以被方便地開發(fā)和升級。2.2.6靈活性和兼容性
在簡化語法的同時,C#并沒有失去靈活性。盡管它不是一種無限制語言,比如:它不能用來開發(fā)硬件驅(qū)動程序,在默認(rèn)的狀態(tài)下沒有指針等等,但是,在學(xué)習(xí)過程中你將發(fā)現(xiàn),它仍然是那樣的靈巧。
如果需要,C#允許你將某些類或者類的某些方法聲明為非安全的。這樣一來,你將能夠使用指針、結(jié)構(gòu)和靜態(tài)數(shù)組,并且調(diào)用這些非安全代碼不會帶來任何其它的問題。此外,它還提供了一個另外的東西(這樣的稱呼多少有些不敬)來模擬指針的功能--delegates,代表。再舉一個例子:C#不支持類的多繼承,但是通過對接口的繼承,你將獲得這一功能。2.2.7安全性
正是由于其靈活性,C#允許與C風(fēng)格的需要傳遞指針型參數(shù)的API進(jìn)行交互操作,DLL的任何入口點(diǎn)都可以在程序中進(jìn)行訪問。C#遵守.NET公用語言規(guī)范(Common Language Specification,CLS),從而保證了C#組件與其它語言組件間的互操作性。元數(shù)據(jù)(Metadata)概念的引入既保證了兼容性,又實(shí)現(xiàn)了類型安全。3.1SQL2005主要特點(diǎn) 3.1.1.NET框架
使用SQL Server2005,開發(fā)人員通過使用相似的語言,例如微軟的VisualC#.NET和微軟的VisualBasic,將能夠創(chuàng)立數(shù)據(jù)庫對象。開發(fā)人員還將能夠建立兩個新的對象——用戶定義的類和集合。
第10頁
11企業(yè)人事管理系統(tǒng)
3.1.2XML技術(shù)
在使用本地網(wǎng)絡(luò)和互聯(lián)網(wǎng)的情況下,在不同應(yīng)用軟件之間散步數(shù)據(jù)的時候,可擴(kuò)展標(biāo)記語言(XML)是一個重要的標(biāo)準(zhǔn)。SQL Server2005將會自身支持存儲和查詢可擴(kuò)展標(biāo)記語言文件。3.1.3ADO.NET2.0版本
從對SQL類的新的支持,到多活動結(jié)果集(MARS),SQL Server2005中的ADO.NET將推動數(shù)據(jù)集的存取和操縱,實(shí)現(xiàn)更大的可升級性和靈活性。3.1.4增強(qiáng)的安全性
SQL Server2005中的新安全模式將用戶和對象分開,提供fine-grainaccess存取、并允許對數(shù)據(jù)存取進(jìn)行更大的控制。另外,所有系統(tǒng)表格將作為視圖得到實(shí)施,對數(shù)據(jù)庫系統(tǒng)對象進(jìn)行了更大程度的控制。3.1.5Transact-SQL的增強(qiáng)性能
SQL Server2005為開發(fā)可升級的數(shù)據(jù)庫應(yīng)用軟件,提供了新的語言功能。這些增強(qiáng)的性能包括處理錯誤、遞歸查詢功能、關(guān)系運(yùn)算符PIVOT,APPLY,ROW_NUMBER和其他數(shù)據(jù)列排行功能,等等。3.1.6SQL服務(wù)中介
SQL服務(wù)中介將為大型、營業(yè)范圍內(nèi)的應(yīng)用軟件,提供一個分布式的、異步應(yīng)用框架。3.1.7通告服務(wù)
通告服務(wù)使得業(yè)務(wù)可以建立豐富的通知應(yīng)用軟件,向任何設(shè)備,提供個人化的和及時的信息,例如股市警報(bào)、新聞訂閱、包裹遞送警報(bào)、航空公司票價等。
第11頁
12企業(yè)人事管理系統(tǒng)
在SQL Server2005中,通告服務(wù)和其他技術(shù)更加緊密地融合在了一起,這些技術(shù)包括分析服務(wù)、SQLServerManagementStudio。3.1.8Web服務(wù)
使用SQL Server2005,開發(fā)人員將能夠在數(shù)據(jù)庫層開發(fā)Web服務(wù),將SQL Server當(dāng)作一個超文本傳輸協(xié)議(HTTP)偵聽器,并且為網(wǎng)絡(luò)服務(wù)中心應(yīng)用軟件提供一個新型的數(shù)據(jù)存取功能。3.1.9報(bào)表服務(wù)
利用SQL Server2005,報(bào)表服務(wù)可以提供報(bào)表控制,可以通過VisualStudio2005發(fā)行。3.1.10全文搜索功能的增強(qiáng)
SQL Server2005將支持豐富的全文應(yīng)用軟件。服務(wù)器的編目功能將得到增強(qiáng),對編目的對象提供更大的靈活性。查詢性能和可升級性將大幅得到改進(jìn),同時新的管理工具將為有關(guān)全文功能的運(yùn)行,提供更深入的了解。3.2C#與ADO.NET
3.2.1 C#中的數(shù)據(jù)庫訪問
用.NET框架編寫的(當(dāng)然也包括用C#編寫的應(yīng)用程序)應(yīng)用程序需要訪問數(shù)據(jù)庫時,將使用ADO.NET來實(shí)現(xiàn)數(shù)據(jù)庫訪問。數(shù)據(jù)綁定是一種非常有用的訪問數(shù)據(jù)庫的方法,能夠減少需要編寫的代碼量。很多簡單任務(wù)可以通過純粹聲明式代碼來完成。<1> ADO.NET ADO.NET是微軟的數(shù)據(jù)訪問框架的最新產(chǎn)物,它是.NET框架的一部分。在ADO.NET之前,程序員在ASP(Active Server Pages)或Visual Basic中使用
第12頁
13企業(yè)人事管理系統(tǒng)
ADO(AtiveX Data Objects),這是一組COM(Component Object Model,組件對象模型)組件,它通過一個易于使用的封裝類提供對底層數(shù)據(jù)訪問代碼的訪問。雖然ADO大大簡化了數(shù)據(jù)庫訪問,但更高級的程序員(特別是C++程序員)通常更喜歡使用更直接、更快的代碼,如OLE DB(Object Linking and Embedding for Databases)代碼庫。
ADO.NET比ADO的功能更強(qiáng)大。它是在.NET代碼中訪問數(shù)據(jù)庫的最好工具。
.NET框架中的ADO.NET類型(在System.Data命名空間及其子空間下的所有類型)包括那些為訪問SQL Server、OLE DB、ODBC和Oracle數(shù)據(jù)庫而優(yōu)化的類型。它們都是基于通用類的,因此使用ADO.NET訪問不同的DBMS是相似的。ADO.NET類型實(shí)現(xiàn)兩個主要的功能。
● 數(shù)據(jù)訪問:用于訪問數(shù)據(jù)庫中數(shù)據(jù)和操作數(shù)據(jù)庫的類型;
● 數(shù)據(jù)表示:用于包含數(shù)據(jù)庫數(shù)據(jù)(如數(shù)據(jù)表)的類型。
這兩種類型之間聯(lián)系密切,在數(shù)據(jù)庫開發(fā)中兩種類型都會用到。嚴(yán)格地說,可以只用一種數(shù)據(jù)庫訪問類型。然而,如果使用數(shù)據(jù)訪問類型來填充數(shù)據(jù)表示類型將節(jié)省大量工作。
ADO.NET包含7個重要的基類,其中4個是數(shù)據(jù)訪問類:
● DbConnection;
● DbCommand;
● DbDataReader;
● DbDataAdapter。其他3個類是數(shù)據(jù)表示類:
● DataTable;
● DataRelation;
● DataSet。
DataTable類使用了其他一些重要的類:DataColum、Constraint和DataRow,本節(jié)也將介紹它們。1.DbConnection DbConnection類提供與數(shù)據(jù)庫的連接。創(chuàng)建DbConnection對象時,應(yīng)提供與DBMS通信所需的所有信息,如數(shù)據(jù)庫的位置、用于認(rèn)證的用戶名和密碼以
第13頁
14企業(yè)人事管理系統(tǒng)
及要訪問的DBMS中的數(shù)據(jù)庫。
所有其他ADO.NET數(shù)據(jù)訪問類都依靠DbConnection與數(shù)據(jù)庫進(jìn)行通信。DbConnection類的扮演角色如圖2.1所示。
圖3.2.1 DbConnection類
在從DbConnection派生而來的類中,到數(shù)據(jù)庫的連接都是由連接字符串定義的,該字符串存儲在屬性DbConnection.ConnectionString中。
數(shù)據(jù)庫連接應(yīng)只在傳輸數(shù)據(jù)時才打開,因此創(chuàng)建DbConnection實(shí)例時并不自動連接到數(shù)據(jù)庫。DbConnection類定義了Open()方法和Close()方法,用于控制連接何時可用。很多其他的ADO.NET類也能控制連接狀態(tài),例如,有些類在完成操作后關(guān)閉它們使用的連接。
DbConnection對象還能參與事務(wù)??捎肈bConnection.BeginTransaction()方法開始事務(wù),或使用DbConnection.EnlistTransaction()作為已有事務(wù)的一部分執(zhí)行操作。
訪問SQL Server或SQL Server速成版中的數(shù)據(jù)時,使用SqlConnection,該類是DbConnection的子類。一般來說,DbConnection和SqlConnection及其他子類都稱為連接類。2.DbCommand DbCommand類提供與數(shù)據(jù)庫交互的主要方法??梢杂肈bCommand對象來執(zhí)行SQL語句、運(yùn)行存儲過程等。DbCommand及其派生類稱為命令類。
大部分時候并不直接使用DbCommand,而是用封裝了DbCommand的其他對象。但有時候需要對數(shù)據(jù)庫通信進(jìn)行更多的控制,這時就可以使用DbCommand對象。DbCommand對象的扮演角色如圖2.2所示。
第14頁
15企業(yè)人事管理系統(tǒng)
圖3.2.2 DbCommand類
DbCommand中最重要的屬性是DbCommand.CommandText。要執(zhí)行SQL語句,就要將語句文本放在這個屬性中。可以用DbCommand.CommandType來指定要執(zhí)行的語句類型,使用DbCommand.Connection和DbCommand.Tranction來訪問底層的連接或事務(wù)。
要注意,DbCommand對象可能有參數(shù)化的命令字符串,命令中的參數(shù)來自類型為DbCommand.Parameters集合的屬性。這與直接在命令字符串中輸入?yún)?shù)相比有很多優(yōu)點(diǎn),在本書后面部分將會看到。
要使用DbCommand對象執(zhí)行命令,有三種選擇,這取決于要執(zhí)行的命令是什么。有些命令不返回結(jié)果,這種情況下可以用DbCommand.ExecuteNonQuery()方法;有些命令返回一個結(jié)果,這時可用DbCommand.ExecuteScalar()方法;最后,有很多命令返回多行數(shù)據(jù),這時可用DbCommand.ExecuteReader()方法,它將返回一個DbDataReader對象(下一小節(jié)將解釋)。
SQL Server的DbCommand版本名為SqlCommand。它有自己的一些特殊方法,如SqlCommand.ExecuteXmlReader()方法,它直接以XML格式返回結(jié)果。3.DbDataReader 使用DbDataReader類可以從結(jié)果集中讀取數(shù)據(jù),如從執(zhí)行存儲在命令對象中的命令生成的結(jié)果集中讀取數(shù)據(jù)。該類經(jīng)過高度優(yōu)化,可以很快地訪問數(shù)據(jù)庫中的數(shù)據(jù)。然而,這種優(yōu)化也有些副作用,例如,只能以串行方式一次讀取一行數(shù)據(jù)。不能讀完兩行后再返回去讀取第一行。通常,可以用DbDataReader對象(更確切地說,是數(shù)據(jù)閱讀器的子類對象)來提取要使用的行數(shù)據(jù),并將其存儲在其他對象中。例如,可以讀取一個結(jié)果集中的每行,將其存儲到在自定義集合或泛型列表對象中的自定義類中。
第15頁
16企業(yè)人事管理系統(tǒng)
與命令對象一樣,很多時候數(shù)據(jù)閱讀器對象是由ADO.NET命名空間下的其他類使用的,用戶不必直接使用它們。
圖3.2.3說明了如何在數(shù)據(jù)庫應(yīng)用程序中使用數(shù)據(jù)閱讀器。
要使用數(shù)據(jù)閱讀器對象,首先必須調(diào)用DbDataReader.Read()方法選擇結(jié)果集中的第一行??刹粩嗾{(diào)用該方法來移動數(shù)據(jù)閱讀器,使數(shù)據(jù)閱讀器像結(jié)果集中的游標(biāo)一樣總是指向一行。獲取一行時,Read()方法返回true;否則返回false—如當(dāng)所有行都已經(jīng)讀完時。也可以用DbDataReader.HasRows屬性來判斷結(jié)果集中是否還有其他行。
圖3.2.4 DbDataReader類
很多屬性和方法可用于檢查當(dāng)前選中的行。DbDataReader.FieldCount查看當(dāng)前行包含多少列,并用DbDataReader的重載索引器訪問各列。如果知道要訪問的列名,可用基于字符串的索引器來獲得列值,也可以使用基于整數(shù)的索引器通過位置獲得列。在這兩種情況下,這種方法都將返回object值,可將其轉(zhuǎn)化為其他類型的數(shù)據(jù)。
也可以使用DbDataReader提供的多個方法直接獲得類型化數(shù)據(jù),如GetString()和GetInt32()分別將指定列以string和int值返回,列通過其索引選擇。要使用這些方法獲得值類型,必須首先使用DbDataReader.IsDBNull檢查空值;否則,空值將引發(fā)異常。檢查空值是必須的,因?yàn)椴还苁裁磾?shù)據(jù)庫類型都可以為空。這與.NET中的值類型不同,可為空的值類型(如int)在這種上下文環(huán)境中是不受支持的。
DbDataReader也能夠獲得關(guān)于它包含的數(shù)據(jù)的元信息—使用
第16頁
17企業(yè)人事管理系統(tǒng)
DbDataReader.GetSchema Table()方法,這樣就可以知道列的名稱、數(shù)據(jù)類型和其他信息,如列是否包含空值。
與前面的其他類一樣,也有專門用于SQL Server的數(shù)據(jù)閱讀器類,這就是SqlDataReader,本書將使用該類。該類繼承DbDataReader,提供將數(shù)據(jù)讀取為本地SQL類型的方法,這樣就能夠避免空類型的問題。這些類型包含在System.Data.Sqltypes命名空間中,是可為空的;如SqlDouble和SqlInt32。雖然這些類型也可以像標(biāo)準(zhǔn)的值類型那樣進(jìn)行操作,但它們實(shí)際上是引用類型。4.DbDataAdapter 在ADO.NET的核心數(shù)據(jù)訪問類中,最后一個是DbDataAdapter類。它比前面介紹過的類型要復(fù)雜得多,設(shè)計(jì)該類的目的只有一個:減少存儲在數(shù)據(jù)集對象中的數(shù)據(jù)與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交換時的干擾。與前面的類一樣,DbDataAdapter類也有很多派生類,它們統(tǒng)稱為數(shù)據(jù)適配器類。
稍后將詳細(xì)解釋什么是數(shù)據(jù)集對象,簡單地說,它們是能夠以.NET對象的形來表示數(shù)據(jù)庫中數(shù)據(jù)的對象。數(shù)據(jù)集對象可以包含整個表或多個表的數(shù)據(jù)。數(shù)據(jù)適配器既可以將數(shù)據(jù)庫中的數(shù)據(jù)傳輸給包含在數(shù)據(jù)集中的表,也可以將數(shù)據(jù)集中的數(shù)據(jù)傳輸?shù)綌?shù)據(jù)庫中。
這個功能由命令對象和數(shù)據(jù)閱讀器對象執(zhí)行,因此大部分時候用戶不必考慮它。然而,DbDataAdapter最重要的(也是最有用的)特性之一是,它用于傳輸數(shù)據(jù)的命令對象被暴露出來,因此可以根據(jù)需要對它們進(jìn)行定制。圖2.4說明了DbDataAdapter類的工作原理,包括它包含的命令對象。
第17頁
18企業(yè)人事管理系統(tǒng)
圖3.2.4 DbDataAdapter類
數(shù)據(jù)適配器使用的4個命令對象存儲在4個屬性中:SelectCommand(用于查詢數(shù)據(jù))、InsertCommand(用于添加數(shù)據(jù))、UpdateCommand(用于編輯數(shù)據(jù))和DeleteCommand(用于刪除數(shù)據(jù))。要使用適配器,并不一定全部用到這4個屬性,例如,可以只用適配器來查詢數(shù)據(jù)。另外,.NET框架可以根據(jù)其他命令的值推斷出命令的值,例如,可以根據(jù)查詢命令來生成更新、插入和刪除命令。然而,這種自動生成的命令的效率可能不如手工提供的高。本書稍后還會討論這個問題。
數(shù)據(jù)適配器中最常用的兩個方法是
DbDataAdapter.Fill()和DbDataAdapter.Update()。Fill()方法從數(shù)據(jù)庫中獲取數(shù)據(jù);Update()方法更新數(shù)據(jù)庫中的數(shù)據(jù)。這兩個方法都可以用于數(shù)據(jù)集或單個數(shù)據(jù)表。另外,可以使用DbDataAdapter.FillSchema()獲取架構(gòu)數(shù)據(jù)。
SQL Server中的DbDataAdapter版本是Sql DbDataAdapter。5.DataTable DataTable是ADO.NET提供的第一個數(shù)據(jù)表示類。與數(shù)據(jù)訪問類不同,數(shù)據(jù)表示類沒有專門用于特定數(shù)據(jù)庫管理系統(tǒng)(如SQL Server)的子類,它們獨(dú)立于平臺。實(shí)際上,如果需要的話,數(shù)據(jù)表示類完全可以獨(dú)立于數(shù)據(jù)庫使用,它們只是存儲數(shù)據(jù)的一種方便的方法。
DataTable類用于存儲(讀者可能對此感到不解)數(shù)據(jù)表。在繼續(xù)討論這個類之
第18頁
19企業(yè)人事管理系統(tǒng)
前需要澄清一件事情:以DataTable對象存儲的表不一定要映射到數(shù)據(jù)庫中的表。DataTable可能包含表中數(shù)據(jù)的一個子集,該子集可能只包含數(shù)據(jù)庫表的部分行、部分列,可能是由數(shù)據(jù)庫中多個表組合而成的數(shù)據(jù),還可能是所有這些的組合,這取決于用于獲得數(shù)據(jù)的查詢語句。通常,DataTable與數(shù)據(jù)庫中的表匹配,但仍然要知道上面提到的事實(shí)。
圖3.2.5說明了DataTable與其他ADO.NET對象之間的關(guān)系。
圖2.5 DataTable 要獲得完全填充的DataTable,可使用數(shù)據(jù)適配器。有包含數(shù)據(jù)的DataTable后,就可以訪問行、列、約束和它包含的其他信息。這些信息可以通過命名恰切的屬性來訪問,包括Rows、Columns和Contraints等。
上面提到的3個屬性都返回一個集合類(DataRowCollection、DataColumnCollection和ConstaintCollection)對象。與其他集合類一樣,這些類可用于在它們包含的對象集合中導(dǎo)航,添加或刪除項(xiàng)等。稍后將介紹這些集合包含的類。
DataTable類另一個非常重要的方面是,如何處理數(shù)據(jù)修改。例如,如果刪除DataTable中的一行,數(shù)據(jù)適配器如何知道在數(shù)據(jù)庫中刪除對應(yīng)的數(shù)據(jù)?DataTable對象記錄了對原始數(shù)據(jù)的修改,而不只是數(shù)據(jù)的當(dāng)前狀態(tài)。從DataTable中刪除一行并不會真的刪除這些數(shù)據(jù),而只是數(shù)據(jù)被標(biāo)記為已刪除。在DataTable對象的消費(fèi)方(如應(yīng)用程序)看來,就像數(shù)據(jù)已被刪除,但實(shí)際上并沒有刪除。
任何時候都可以使用GetChanges()方法獲得關(guān)于對DataTable對象所做的修改
第19頁
20企業(yè)人事管理系統(tǒng)
列表(以另一個DataTable對象的形式)??梢栽谶m當(dāng)時使用AcceptChanges()方法接受已做的修改,從而覆蓋原來的數(shù)據(jù)。例如,可以在修改提交到數(shù)據(jù)庫后這樣做。也可以使用RejectChanges()撤銷所有的修改,如當(dāng)最終用戶單擊“取消”按鈕時。
DataTable對象也暴露了很多事件,在應(yīng)用程序中可以定制這些事件,如RowDeleted和ColumnChanged。使用這些事件可以保證應(yīng)用程序?qū)κ录M(jìn)行響應(yīng),還可以實(shí)現(xiàn)其他功能,例如,確保底層數(shù)據(jù)庫在數(shù)據(jù)發(fā)生修改時立即更新。(1)DataColumn。
DataColumn存儲了在數(shù)據(jù)表中定義列所需的所有信息。在DataTable中,Columns屬性包含一個DataColumnCollection,這是一個DataColumn對象集合。DataColumn還包含與DBMD匹配的屬性,包括ColumnName、Dataype、AllowDBNull和DefaultValue。它的屬性可能比使用的DBMS的屬性還要多,但如果使用過不同的DBMS,這一點(diǎn)將顯而易見。對于SQL Server,這并不是問題。(2)Constaint。
Constaint對象(在ConstaintCollection中,可通過DataTable.Constaints訪問)用于包含表的所有元數(shù)據(jù),這些數(shù)據(jù)不包含在DataColumn對象中。Constaint類作為更具體類的基類,這些具體類包括UniqueConstaint—用于確保給定列或列組合的值是唯一的(例如,這對于主鍵是必須的)和ForeingKeyConstaint—用于實(shí)現(xiàn)表之間的關(guān)系。(3)DataRow。
DataRow類用于存儲表中一行包含的數(shù)據(jù)。通過DataTable.Rows屬性可以訪問DataRow Collection對象,后者存儲了組成表數(shù)據(jù)的多個DataRow對象。一行數(shù)據(jù)中的各列可通過索引器來訪問,索引器讓你能夠通過列名、索引和版本(例如,如果行被修改)來訪問列。
行的當(dāng)前狀態(tài),即它是否被修改、刪除或以某種方式改變,可通過DataRowState屬性訪問。該屬性的值為DataRowState類型,這是一種包含所有可能行狀態(tài)的枚舉類型。各個DataRow對象也有與DataTable對應(yīng)的方法,用于接受、拒絕和獲得更改。例如,可以推斷出,調(diào)用DataTable.AcceptChanges()將級聯(lián)地對表的每行調(diào)用DataRow AcceptChanges()。
第20頁
21企業(yè)人事管理系統(tǒng)
6.DataRelation 在處理多個DataTable對象時,通常需要表示(并實(shí)施)表數(shù)據(jù)之間的關(guān)系。這由DataRelation類來完成??蓪⒍鄠€DataRelation對象組合起來,構(gòu)成一個DataRelationCollection對象。
關(guān)系可以用DataRelation類的多個屬性來定義,包括ChildTable、ChildColumns、ChildKeyConstraint、ParentTable和ParentKeyConstraint等。這些屬性都是對相應(yīng)的對象的引用,如DataTable和DataColumn對象。關(guān)系名也被存儲在DataRelation.RelationName屬性中。
現(xiàn)在還不用太擔(dān)心DataRelation對象,因?yàn)樗鼈兎庋b了ADO.NET比較高級的方面,這在本書后面將介紹。7.DataSet 現(xiàn)在到了ADO.NET中最重要的類—DataSet。從某種程度上說,該類只是DataTable對象和DataRelation對象的集合(如圖2.6所示)。然而,DataSet的強(qiáng)大功能體現(xiàn)在與其他對象結(jié)合使用,包括用于Web應(yīng)用程序和Windows應(yīng)用程序的控件、Web服務(wù)和XML文檔。
DataSet類包含很多屬性和方法;其中很多與其組成部分的屬性和方法類似,例如,GetChanges()和RejectChanges()。還有一些重要的屬性,如Tables(以DataTableCollection類的形式包含DataSet中的表集合)、Relations(包含一個DataRelation Collection類,其中的Relation對象定義了表之間的關(guān)系)。數(shù)據(jù)表之間的關(guān)系及應(yīng)用于數(shù)據(jù)的約束使得對DataSet的操作很麻煩。例如,如果兩個表之間存在一對多關(guān)系,則添加一行到其中一個表中,可能要求另一個表中存在一行。而這行可能不存在(例如,如果兩行同時添加時),這時,為避免錯誤,添加這些行的順序?qū)⒑苤匾槐仨毾忍砑游挥陉P(guān)系“一”端的行。也可以將DataSet.Enforce Constraints屬性設(shè)置為false,這樣在執(zhí)行編輯操作時將忽略關(guān)系。
(1)DataSet對象和XML之間的關(guān)系。
第21頁
22企業(yè)人事管理系統(tǒng)
與ADO.NET的其他對象一樣,設(shè)計(jì)DataSet對象時也考慮了XML數(shù)據(jù)。使用DataSet.GetXml()方法,可將數(shù)據(jù)集轉(zhuǎn)換為XML文檔;還可以使用DataSet.GetXmlSchema()方法只提取數(shù)據(jù)集中的架構(gòu)(包括數(shù)據(jù)集包含的所有表和其他對象的架構(gòu))作為XML文檔。還可使用序列化技術(shù)在DataSet和XML文檔之間進(jìn)行轉(zhuǎn)換,因?yàn)镈ataSet類實(shí)現(xiàn)了IxmlSeria-lizable接口。
DataSet對象與XML之間的關(guān)系以及使用序列化在這兩種表示格式之間進(jìn)行轉(zhuǎn)換,在.NET框架中運(yùn)用相當(dāng)廣泛。它提供了一種在應(yīng)用程序?qū)又g和通過Internet交換數(shù)據(jù)的很好方法。特別地,有了數(shù)據(jù)集的XML表示形式后,就可以在Web服務(wù)之間進(jìn)行交換DataSet對象。(2)類型化數(shù)據(jù)集(typed data set)。
DataSet對象的功能很強(qiáng)大,但它們并不是最容易使用或最合乎邏輯的。例如,要訪問表中的特定行,使用它就顯得很笨拙。必須使用DataSet.Tables集合獲得正確的表,用DataTable.Rows集合獲得正確的行,然后以對象引用的形式或通過DataColumn的方法提取列數(shù)據(jù)—這些都不容易。訪問特定列的代碼行可能如下所示: int
result
=(int)myDataSet.Tables[“myTable”].Rows[5][ “IntegerColumn”];還有一種方法,那就是使用類型化數(shù)據(jù)集。類型化數(shù)據(jù)集是DataSet的子類,但它包含強(qiáng)類型屬性和方法,使得數(shù)據(jù)操作更容易。如果使用類型化數(shù)據(jù)集,上面的代碼就可以簡化為如下所示:
int result = myTypedDataSet.MyTable[5].IntegerColumn;雖然這并不影響代碼的功能,但輸入更容易(尤其是啟用了智能感知功能時),以后閱讀代碼時也更容易理解。
唯一的限制是,需要在設(shè)計(jì)時就知道數(shù)據(jù)集中將包含的數(shù)據(jù)的結(jié)構(gòu)。然而,因?yàn)閿?shù)據(jù)庫的結(jié)構(gòu)不大可能有很大的改變,因此這通常不成問題。
可以使用xsd.exe工具或通過Visual C#速成版界面自動創(chuàng)建類型化數(shù)據(jù)集。xsd.exe工具要求提供一個架構(gòu)(schema),這是以擴(kuò)展名為.xsd的XML架構(gòu)文件提供的。Visual C#速成版在創(chuàng)建類型化數(shù)據(jù)集時也要使用架構(gòu)信息,但它直接從數(shù)據(jù)庫獲取這些信息,這使得對數(shù)據(jù)集的結(jié)構(gòu)進(jìn)行操作更容易。
第22頁
23企業(yè)人事管理系統(tǒng)
(3)性能。
有些人認(rèn)為應(yīng)盡量避免使用數(shù)據(jù)集。這是因?yàn)樗鼈兪恰爸亓考墶睂ο?,帶來的開銷在高性能應(yīng)用程序中可能很大。另外,以數(shù)據(jù)集的形式通過Web傳輸數(shù)據(jù)可能意味著要傳輸大量的XML數(shù)據(jù)。
從某種程度上說,這些擔(dān)憂是正確的。如果性能很重要,可以設(shè)計(jì)自己的類,并直接使用數(shù)據(jù)閱讀器提供的數(shù)據(jù)進(jìn)行填充。然而,數(shù)據(jù)集(特別是類型化數(shù)據(jù)集)自有它們的用處。它們提供了很多特性,只需少量代碼就可以使用這些特性,且用于操作它們的代碼通常很簡單。例如,如果不沒有數(shù)據(jù)集,要表示數(shù)據(jù)庫的數(shù)據(jù),同時在類中記錄所有編輯,且這些編輯可以很容易地傳輸?shù)綌?shù)據(jù)庫,可能需要大量的代碼,且實(shí)現(xiàn)起來相當(dāng)困難。3.2.2 數(shù)據(jù)綁定
數(shù)據(jù)綁定是程序員只需做少量工作就可以用數(shù)據(jù)庫中的數(shù)據(jù)填充Windows或Web控件的一種技術(shù)。.NET框架讓程序員只需使用簡單的代碼就可以將數(shù)據(jù)源與控件關(guān)聯(lián)起來,實(shí)際上,可以通過GUI實(shí)現(xiàn)很多功能,而不需要編寫大量C#代碼。數(shù)據(jù)綁定有兩點(diǎn)要求:數(shù)據(jù)源和要綁定數(shù)據(jù)的控件。數(shù)據(jù)源包括數(shù)據(jù)庫連接,但不僅限于此,也可以使用對象或來自Web服務(wù)的數(shù)據(jù)作為數(shù)據(jù)源。使用對象作為數(shù)據(jù)源是一種功能強(qiáng)大的方法,可以利用自定義的集合和自己設(shè)計(jì)的類,但這有點(diǎn)偏題了。本書大部分時候使用的數(shù)據(jù)源類型都是數(shù)據(jù)庫數(shù)據(jù)源,它有Web控件形式,也有Windows控件形式。
生成數(shù)據(jù)庫數(shù)據(jù)源時,通常不僅需要配置連接。數(shù)據(jù)庫數(shù)據(jù)源包括關(guān)于要訪問數(shù)據(jù)庫中哪些對象的信息。實(shí)際上,在幕后通常將生成類型化數(shù)據(jù)集。此外,幕后還將用到前面介紹的ADO.NET對象(連接、命令、數(shù)據(jù)閱讀器和數(shù)據(jù)適配器協(xié)同工作來創(chuàng)建數(shù)據(jù)源)。然而,程序員不必太擔(dān)心這一點(diǎn),而只需創(chuàng)建一個數(shù)據(jù)源并將它綁定到控件,如圖2.7所示。
圖2.7 數(shù)據(jù)綁定
第23頁
24企業(yè)人事管理系統(tǒng)
要綁定到控件,需要將控件的屬性設(shè)置為數(shù)據(jù)源的元素(從而間接地設(shè)置為數(shù)據(jù)庫的元素)。對于簡單控件,如標(biāo)簽或文本框,只要將控件的Text屬性設(shè)置為數(shù)據(jù)庫中類型為文本的列。還可以將數(shù)據(jù)綁定到列表控件(包括下拉列表),這樣列表中的每項(xiàng)都綁定到數(shù)據(jù)庫表中的一行。更高級的控件(如GridView)可用于查看整個表的內(nèi)容。另外,也可以提供自定義的控件和自定義的數(shù)據(jù)綁定架構(gòu),以便使用和編輯數(shù)據(jù)庫中的數(shù)據(jù)。3.3 SQL語言
通用的SQL語言,最早于1974年提出,當(dāng)時稱為SEQUEL語言,后來被國際標(biāo)準(zhǔn)化組織ISO采納為國際標(biāo)準(zhǔn),現(xiàn)在大多數(shù)數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言。SQL是一種處理數(shù)據(jù)的高級語言,是非過程化語言,在查詢數(shù)據(jù)時,只需指出“要什么”,而不需指出如何實(shí)現(xiàn)的過程。SQL語言包括數(shù)據(jù)定義、查詢、操縱和控制功能。SQL語言的語法格式簡單,使用方便靈活。3.3.1表定義語句
廣義上講,表定義語句包括數(shù)據(jù)表的創(chuàng)建語句(Create語句)、數(shù)據(jù)表修改語句(Alter語句)和數(shù)據(jù)表刪除語句(Drop語句)。3.3.2視圖定義語句
視圖是對數(shù)據(jù)表中數(shù)據(jù)的一種顯示方式,用一個數(shù)據(jù)表可以有多個視圖,以根據(jù)用戶的不同需求,將數(shù)據(jù)表中用戶所關(guān)心的數(shù)據(jù)提取出來,顯示給用戶,忽略數(shù)據(jù)表中其他數(shù)據(jù)。視圖也可以理解為一種預(yù)先定義好的查詢。實(shí)際上,查詢的優(yōu)點(diǎn)在于可在多個數(shù)據(jù)表之間按指定的條件對數(shù)據(jù)進(jìn)行篩選顯示。3.3.3索引定義語句
索引是加速數(shù)據(jù)查詢的重要手段,索引一旦被建立起來,就成為了數(shù)據(jù)庫的一部份,并占用數(shù)據(jù)庫的存儲空間。使用索引的突出優(yōu)點(diǎn)就是加快數(shù)據(jù)的查詢速度,但是,對于數(shù)據(jù)的插入、刪除和修改操作來說,索引卻降低了執(zhí)行效率。
第24頁
25企業(yè)人事管理系統(tǒng)
3.3.4數(shù)據(jù)操縱語句
數(shù)據(jù)操縱包括數(shù)據(jù)的插入、更新和刪除等操作,數(shù)據(jù)操縱語句是應(yīng)用程序編制過程中使用較多的語句之一。3.3.5INSERT語句
INSERT語句所實(shí)現(xiàn)的功能是向數(shù)據(jù)庫中插入新的數(shù)據(jù),該語句的一般語法如下: Insert into tableName [(fieldList)] values(valueList)3.3.6UPDATE語句
UPDATE語句用于更新數(shù)據(jù)表中的數(shù)據(jù)。所謂的更新是指數(shù)據(jù)已經(jīng)存在于數(shù)據(jù)表,但需要對其中的數(shù)據(jù)進(jìn)行修改,此時可以使用UPDATE語句實(shí)現(xiàn)。3.3.7DELETE語句
如果某些數(shù)據(jù)需要從數(shù)據(jù)表中刪除,則可以使用DELETE語句進(jìn)行,該語句的基本語法如下:
Delete from tableName [Where select_conditon] 3.3.8查詢語句
查詢語句是SQL語言中使用最為頻繁的語句,查詢可以根據(jù)需要在數(shù)據(jù)表內(nèi)或者多個數(shù)據(jù)表之間進(jìn)行數(shù)據(jù)篩選。熟練掌握數(shù)據(jù)查詢語句,才能編寫出高質(zhì)量的數(shù)據(jù)庫管理軟件。
查詢是SQL語言最重要最核心的功能之一。在SQL語言中查詢是通過Select語句實(shí)現(xiàn)的,最簡單的SQL語句結(jié)構(gòu)如下: Select字段列表 From表名
第25頁
26企業(yè)人事管理系統(tǒng)
3.3.9條件查詢
Select語句除了可以對字段進(jìn)行篩選以外,還可以對記錄進(jìn)行篩選和操作,此時,要用到Where字句。Where子句在Select語句中用于指定查詢條件,其結(jié)構(gòu)一般如下:
Select 字段列表 from 表名 Where 條件表達(dá)式 3.3.10查詢排序
SQL語句還可以對查詢的結(jié)果進(jìn)行排序,此時,要用到Order by子句。另外,還要用到兩個負(fù)責(zé)排序方式的關(guān)鍵詞ASC和DESC,ASC指明按升序排列查詢結(jié)果;DESC則指明按降序進(jìn)行排列。排序查詢的結(jié)構(gòu)一般如下: Select fieldlist From tableName [Where select_conditon] Order by field1 [ASC|DESC],field2 [ASC|DESC] 3.3.11統(tǒng)計(jì)查詢
SQL語言對數(shù)值型的字段具有統(tǒng)計(jì)的功能,該功能涉及到5個統(tǒng)計(jì)函數(shù),介紹如下:Count(*):統(tǒng)計(jì)符合查詢條件的記錄的個數(shù)。AVG(field):計(jì)算某個數(shù)值型字段的平均值。Max(field):返回某個數(shù)值型字段的最大值。Min(field):返回某個數(shù)值型字段的最小值。Sum(field):計(jì)算某個數(shù)值型字段所有記錄的和。3.3.12Group by子句
Group by子句的作用是將查詢結(jié)果中的數(shù)據(jù)按指定字段分組,Group by子句常與統(tǒng)計(jì)函數(shù)一起使用,以對查詢數(shù)據(jù)實(shí)現(xiàn)分組統(tǒng)計(jì)。Group by子句的一般語法如下:
Group by 字段1,字段2 3.3.13Distinct關(guān)鍵詞
在數(shù)據(jù)表的某個字段中可能會出現(xiàn)多個重復(fù)的值,使用Distinct關(guān)鍵字可以避
第26頁
27企業(yè)人事管理系統(tǒng)
免查詢結(jié)果中出現(xiàn)重復(fù)的記錄。含Distinct關(guān)鍵詞的SQL語句結(jié)構(gòu)一般如下: Select Distinct 字段名列表 From 表名 Where 條件表達(dá)式 3.3.14Top關(guān)鍵詞
Top關(guān)鍵詞的作用是限制查詢結(jié)果的返回?cái)?shù)目。該關(guān)鍵詞常被用來限制顯示查詢結(jié)果中前多少個或者前百分之多少的記錄。因此,Top關(guān)鍵詞經(jīng)常和Order by子句一起出現(xiàn)。Top關(guān)鍵詞的基本語法: Top n Top n Percent 3.3.15多表查詢
SQL語言還可以實(shí)現(xiàn)在同一個數(shù)據(jù)庫中的不同數(shù)據(jù)表之間進(jìn)行查詢。3.3.16多重查詢
SQL語句允許嵌套使用,這種查詢一般是把其中一個查詢的結(jié)果作為另一個查詢語句的查詢條件。多重查詢中一般會出現(xiàn)In、Not In、All、Some或者Any等關(guān)鍵詞。In和Not In用來指定某值在和不在某區(qū)間或者集合;All表示集合中的全部,而Some和Any則表示集合中的一部分。3.3.17EXISTS關(guān)鍵詞
EXISTS(NOT EXISTS)關(guān)鍵詞是復(fù)合查詢語句中的常用關(guān)鍵詞,其作用是判斷復(fù)合查詢語句的內(nèi)層查詢是否存在查詢結(jié)果。使用EXISTS關(guān)鍵詞時內(nèi)層查詢只是起到一個判斷是否存在查詢結(jié)果的作用,其篩選出的數(shù)據(jù)對整個查詢沒有任何作用。
第27頁
28企業(yè)人事管理系統(tǒng)
4系統(tǒng)需求分析
4.1系統(tǒng)流程圖如下
員工管理準(zhǔn)備員工信息管理登陸社會關(guān)系學(xué)習(xí)經(jīng)歷維護(hù)數(shù)據(jù)備份判定數(shù)據(jù)清空系統(tǒng)主界面部門設(shè)置設(shè)置清空員工管理系統(tǒng)設(shè)置崗位調(diào)整工資考勤信息管理下載考勤信息考評管理稅率管理獎懲管理工資調(diào)整管理工資項(xiàng)目管理工資匯總統(tǒng)計(jì)子模塊員工管理功能圖如下:
部門設(shè)置用戶管理崗位調(diào)整員工管理學(xué)習(xí)經(jīng)歷維護(hù)員工基本信息社會關(guān)系第28頁
29企業(yè)人事管理系統(tǒng)
用戶管理:主要用于管理不同職能的員工信息,可以實(shí)現(xiàn)創(chuàng)建,修改,刪除員工職能信息的功能。
系統(tǒng)運(yùn)行界面圖如下:
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)圖:
員工基本信息:企業(yè)人事檔案管理信息化模塊;具有快速、無限量員工數(shù)
第29頁
30企業(yè)人事管理系統(tǒng)
據(jù)輸入及保存功能;由特定權(quán)限的管理員統(tǒng)一管理員工檔案。對員工從進(jìn)入公司開始直至離職的整個過程進(jìn)行人面管理,檔案信息包括,職員編號,職員姓名,出生年月,職工學(xué)歷,定時檢查更新員工信息,具有權(quán)限的使用者可以登記、查詢、修改、統(tǒng)計(jì)部門信息、崗位設(shè)置情況。圖如下:
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)如下:
第30頁
31企業(yè)人事管理系統(tǒng)
社會關(guān)系:主要用于建立和保存職員的社會關(guān)系,以備侯用。運(yùn)行圖如下:
第31頁
32企業(yè)人事管理系統(tǒng)
對應(yīng)的數(shù)據(jù)庫系統(tǒng)設(shè)計(jì):
第32頁
33企業(yè)人事管理系統(tǒng)
學(xué)習(xí)經(jīng)歷維護(hù):主要記錄員工各個階段不同部門學(xué)習(xí)的情況。系統(tǒng)運(yùn)行圖
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì):
第33頁
34企業(yè)人事管理系統(tǒng)
部門設(shè)置:可以添加、修改、刪除部門。系統(tǒng)運(yùn)行圖:
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì):
崗位調(diào)整:主要用于讓公司找到員工的強(qiáng)項(xiàng)并讓員工發(fā)揮最大作用。
第34頁
35企業(yè)人事管理系統(tǒng)
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì):
工資考勤信息管理功能圖如下:
第35頁
36企業(yè)人事管理系統(tǒng)
工資匯總統(tǒng)計(jì)下載考勤信息稅率管理考評管理工資考勤信息管理工資項(xiàng)目管理獎懲管理工資調(diào)整管理下載考勤信息:用于記錄員工的考勤情況。系統(tǒng)運(yùn)行圖如下:
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)圖:
第36頁
37企業(yè)人事管理系統(tǒng)
考評管理:用于實(shí)時調(diào)查員工的工作情況,調(diào)整好他們最佳工作狀態(tài),可以促進(jìn)良性競爭和增強(qiáng)企業(yè)的活力。系統(tǒng)運(yùn)行圖:
第37頁
38企業(yè)人事管理系統(tǒng)
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)圖如下:
稅率管理:主要用于計(jì)算稅率,可以升級工資模塊,跟時代同步。系統(tǒng)運(yùn)行圖如下:
相應(yīng)的數(shù)據(jù)庫設(shè)計(jì)如圖:
第38頁
39企業(yè)人事管理系統(tǒng)
獎懲管理:賞罰分明,調(diào)動企業(yè)工作氣氛。系統(tǒng)運(yùn)行圖如下:
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)圖如下:
第39頁
40企業(yè)人事管理系統(tǒng)
工資調(diào)整管理:工資的合理調(diào)整可以有效調(diào)動員工積極性。系統(tǒng)運(yùn)行圖如下:
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)圖如下:
第40頁
41企業(yè)人事管理系統(tǒng)
工資項(xiàng)目管理:用于基本工資和參數(shù)的記錄和調(diào)整。系統(tǒng)運(yùn)行圖如下:
對應(yīng)數(shù)據(jù)庫設(shè)計(jì)圖如下:
第41頁
42企業(yè)人事管理系統(tǒng)
工資匯總統(tǒng)計(jì):用于員工工資的報(bào)表顯示。如圖:
系統(tǒng)設(shè)置圖如下:
數(shù)據(jù)備份系統(tǒng)設(shè)置數(shù)據(jù)清空設(shè)置清空 系統(tǒng)設(shè)置:主要用于數(shù)據(jù)庫的備份和維護(hù)。
第42頁
43企業(yè)人事管理系統(tǒng)
運(yùn)行圖如下: 連接到數(shù)據(jù)庫:
進(jìn)行數(shù)據(jù)庫備份或者恢復(fù):
第43頁
44企業(yè)人事管理系統(tǒng)
系統(tǒng)大概流程和功能介紹:
系統(tǒng)登陸:安全作用,設(shè)置管理員的賬號用于登陸與維護(hù)。
系統(tǒng)主界面:
第44頁
45企業(yè)人事管理系統(tǒng)
增強(qiáng)更為人性化的功能: 比如操作助手:
企業(yè)員工生日提醒如圖:
第45頁
46企業(yè)人事管理系統(tǒng)
增強(qiáng)更為美觀的界面:
參考文獻(xiàn):
[1] 王珊,陳紅.數(shù)據(jù)庫系統(tǒng)原理教程[M].北京:清華大學(xué)出版社,2008。[2] 李曉喆.SQL Server 2000管理及應(yīng)用系統(tǒng)開發(fā)[M].北京:人民郵電出版社,2002。
[3] 侯曉霞,柴洪輝.C#技術(shù)內(nèi)幕[M].北京:清華大學(xué)出版社,2002。[4] 李敏波.C#高級編程[M].北京:清華大學(xué)出版社,2005。[5] 張志華,劉云鵬.C#設(shè)計(jì)模式[M].北京:電子工業(yè)出版社,2003。[6] 張曉坤,譚立平,車樹良.C#編程語言詳解[M].北京:電子工業(yè)出版社,2004。
[7] 周存杰.Visual.C#.NET.網(wǎng)絡(luò)核心編程[M].北京:清華大學(xué)出版社,2002。[8] 姜力,高群.SQL Server數(shù)據(jù)庫設(shè)計(jì)與管理[M].北京:中國林業(yè)出版社,2006
第46頁
47企業(yè)人事管理系統(tǒng)
致謝
首先衷心感謝我的導(dǎo)師謝光強(qiáng)老師對我學(xué)術(shù)上的指導(dǎo)和幫助。在畢業(yè)設(shè)計(jì)和論文寫作的過程中,謝老師給我提供了各種意見與支持,并引導(dǎo)我逐步解決各種問題,使我的畢業(yè)論文條理化、規(guī)范化,同時使我增長了見識、提高了水平。謝老師學(xué)識淵博、治學(xué)嚴(yán)謹(jǐn),作為我的導(dǎo)師讓我感到萬分的榮幸。
同時感謝同事,他為我提供了一些c#學(xué)習(xí)資料。最后,還要感謝所有幫助過我和關(guān)心過我的人。忠心的說一聲“謝謝”。
附錄F 各模塊實(shí)現(xiàn)的主要源代碼
F1.1登錄模塊的設(shè)計(jì)與實(shí)現(xiàn)的主要代碼 if(tbxUserCode.Text.Trim()== “"){ BigMessageBox.Show(”請您輸入用戶或密碼!“, ”警告“, MessageBoxButtons.OK, MessageBoxIcon.Stop);this.tbxUserCode.Text = ”“;this.tbxUserCode.Text = ”“;this.tbxUserCode.Focus();return;} else { EmployeeInfo emp = null;switch(User.LoginValidate(tbxUserCode.Text.Trim(), tbxUserPwd.Text.Trim(), out emp)){ case User.LoginResult.NoUser: { BigMessageBox.Show(”沒有該用戶信息“, ”用戶驗(yàn)證“, MessageBoxButtons.OK, MessageBoxIcon.Stop);tbxUserCode.Text = ”“;tbxUserCode.Focus();break;} case User.LoginResult.PasswordError: { BigMessageBox.Show(”用戶密碼錯誤!“, ”用戶驗(yàn)證“, MessageBoxButtons.OK, MessageBoxIcon.Stop);tbxUserPwd.Text = ”“;
第47頁
48企業(yè)人事管理系統(tǒng)
tbxUserPwd.Focus();break;} case User.LoginResult.Success: { FormMain objMain = new FormMain();this.Hide();objMain.Show();break;} default: break;}
} F1.2登陸實(shí)體類:
StringBuilder strSql = new StringBuilder();strSql.Append(”select EmpID, LoginName, LoginCode, Password, RoleID, IsUsed, CreateName,CreateDatetime,Remark FROM Login “);strSql.Append(” where LoginrCode=“ + LoginrCode);Login model = new Login();DataTable dt = DbHelperSQL.Instance.GetDataTable(strSql.ToString());
if(dt.Rows.Count > 0){
model.EmpNO = dt.Rows[0][”EmpNO“].ToString();model.LoginName = dt.Rows[0][”LoginName“].ToString();model.LoginrCode = dt.Rows[0][”LoginCode“].ToString();model.Password = dt.Rows[0][”Password“].ToString();if(dt.Rows[0][”RoleID“].ToString()!= ”“){ model.RoleID = int.Parse(dt.Rows[0][”RoleID“].ToString());} model.IsUsed = dt.Rows[0][”IsUsed“].ToString();model.CreateName = dt.Rows[0][”CreateName“].ToString();if(dt.Rows[0][”CreateDatetime“].ToString()!= ”"){
第48頁
第三篇:企業(yè)人事管理系統(tǒng)畢業(yè)論文設(shè)計(jì)
目錄
前 言........................................................................................................................................錯誤!未定義書簽。1 需求分析................................................................................................................................錯誤!未定義書簽。1.1 系統(tǒng)需求..........................................................................................................................錯誤!未定義書簽。1.1 功能需求..........................................................................................................................錯誤!未定義書簽。1.3 可靠性要求......................................................................................................................錯誤!未定義書簽。1.4 性能需求..........................................................................................................................錯誤!未定義書簽。2 開發(fā)環(huán)境簡介.........................................................................................................................錯誤!未定義書簽。2.1 DELPHI簡介.....................................................................................................................錯誤!未定義書簽。2.1.1 Delphi7的集成開發(fā)環(huán)境(IDE)..........................................................................錯誤!未定義書簽。2.1.2 Pascal簡介...............................................................................................................錯誤!未定義書簽。2.2 SQL SERVER 2000 簡介..................................................................................................錯誤!未定義書簽。2.2.1 SQL Server 數(shù)據(jù)平臺..............................................................................................錯誤!未定義書簽。2.3 TQUERY部件在SQL編程中的運(yùn)用...............................................................................錯誤!未定義書簽。3 總體設(shè)計(jì)................................................................................................................................錯誤!未定義書簽。3.1 基本設(shè)計(jì)..........................................................................................................................錯誤!未定義書簽。3.1.1 設(shè)計(jì)概念..................................................................................................................錯誤!未定義書簽。3.1.2 功能分析..................................................................................................................錯誤!未定義書簽。3.1.3 數(shù)據(jù)流圖..................................................................................................................錯誤!未定義書簽。3.1.4 系統(tǒng)模塊..................................................................................................................錯誤!未定義書簽。3.2 用例圖..............................................................................................................................錯誤!未定義書簽。4 數(shù)據(jù)庫設(shè)計(jì)............................................................................................................................錯誤!未定義書簽。4.1 數(shù)據(jù)庫概念設(shè)計(jì)..............................................................................................................錯誤!未定義書簽。4.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)......................................................................................................錯誤!未定義書簽。5 詳細(xì)設(shè)計(jì)................................................................................................................................錯誤!未定義書簽。5.1 系統(tǒng)主窗體......................................................................................................................錯誤!未定義書簽。5.2 數(shù)據(jù)庫連接......................................................................................................................錯誤!未定義書簽。5.3 用戶登陸界面..................................................................................................................錯誤!未定義書簽。5.4 用戶功能選擇..................................................................................................................錯誤!未定義書簽。5.5 用戶信息錄入..................................................................................................................錯誤!未定義書簽。5.6 查詢功能窗體..................................................................................................................錯誤!未定義書簽。5.7 數(shù)據(jù)備份和還原窗體......................................................................................................錯誤!未定義書簽。5.8 工作日記及工作日記管理..............................................................................................錯誤!未定義書簽。5.9 用戶管理及用戶密碼修改..............................................................................................錯誤!未定義書簽。
5.10 打印報(bào)表模塊................................................................................................................錯誤!未定義書簽。5.11 數(shù)據(jù)公用模塊................................................................................................................錯誤!未定義書簽。5.12 其它模塊........................................................................................................................錯誤!未定義書簽。6 總
結(jié)....................................................................................................................................錯誤!未定義書簽。參考文獻(xiàn)....................................................................................................................................錯誤!未定義書簽。致謝............................................................................................................................................錯誤!未定義書簽。
人事管理系統(tǒng)
網(wǎng)絡(luò)工程
雷靈明
指導(dǎo)老師:曹步青
摘要:隨著企業(yè)自身人力資源的日益龐大、復(fù)雜程度逐漸增強(qiáng),人機(jī)作坊再也無法適應(yīng)如今企業(yè)的人事管理了,取代的是運(yùn)用各種領(lǐng)域的知識,結(jié)合計(jì)算機(jī)科學(xué)而開發(fā)的人事管理系統(tǒng)。人事管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的數(shù)據(jù)庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。人事管理系統(tǒng)是對工作人員進(jìn)行統(tǒng)一的管理,可以方便的進(jìn)行錄入,查詢,修改,刪除,退出。經(jīng)過以上分析,本系統(tǒng)使用Delphi 7.0作為界面和功能開發(fā)工具和SQL Sever 2000作為后臺數(shù)據(jù)庫,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具進(jìn)行界面和數(shù)據(jù)庫開發(fā)。軟件過程結(jié)合了快速原型模型與增量模型的優(yōu)點(diǎn):首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成可行系統(tǒng)。
關(guān)鍵詞:人事管理;DEPHI;ADO;SQL server 2000
Personnel Management System
Network engineering
Lei Lingming Teacher:Cao Buqing
Abstract: Along with their own human resources increasing, complexity growing, the man-machine workshop also is unable adapt the present enterprise’s personnel management again, but the personnel management system that make use of knowledge in different fields and computer science and technology.Personnel management system is a typical management information system(MIS), including the establishment and maintenance of the background-database and front-end application development.To the former, the request for the data which is powerful in consistency and integrity, database which is good in security.For the latter, the request for the applications program which is integrity and easy to easy, Personnel management system can manage the staff and admit input, enquiries, modify, delete, and exit.Through such analysis, the system use Delphi 7.0 as the interface and functions of development tools and take SQL Sever 2000 database as background-database, the development of the interface and database which made use of its object-oriented tools, the software process is formed which is combine the advantage of rapid prototype models and incremental model, as follows: At first application prototype of system is built in a short time, Secondly, the initial prototype system needs to be revised and improved, Finally, it is feasible that the system is built.Key words: human resource management;DEPHI;ADO;SQL server 2000
前 言
背景
在競爭越來越激烈的社會里,企業(yè)人事管理就越顯示出其不可缺性,成為企業(yè)一個非常重要的模塊。企業(yè)人事管理系統(tǒng)主要是用于員工個人相關(guān)信息的管理。使用人事管理系統(tǒng),便于公司領(lǐng)導(dǎo)掌握人員的動向和人員的綜合素質(zhì),及時調(diào)整人才的分配,使用計(jì)算機(jī)對人事勞資信息進(jìn)行管理,具有檢索迅速、查找方便、可靠性高、存儲量大、保密性好、成本低等優(yōu)點(diǎn),能夠極大地提高人事資源管理的效率,也是企業(yè)科學(xué)化、正規(guī)化管理的重要條件。目標(biāo) 設(shè)計(jì)一個企業(yè)人事信息管理系統(tǒng),此系統(tǒng)要以人為中心,為企業(yè)提供全面的人事管理解決方案; a)為企業(yè)建立規(guī)范化、實(shí)時化人事管理機(jī)制;
b)提高企業(yè)人事管理的效率、節(jié)約相關(guān)的管理成本,增強(qiáng)人事管理的安全性; c)滿足企業(yè)管理層,人事業(yè)務(wù)操作層和全體員工的不同層次和不同方面的需要; d)對企業(yè)將來的整體信息化建設(shè)提供必要的支持。需求分析
需求分析是系統(tǒng)開發(fā)必要環(huán)節(jié),也是重中之重。作為該過程的結(jié)果,需求規(guī)格說明書是對系統(tǒng)的功能和行為完整的描述。系統(tǒng)設(shè)計(jì)將來自于需求分析的抽象規(guī)格說明轉(zhuǎn)變?yōu)槊嫦蛘鎸?shí)世界的設(shè)計(jì)。一旦構(gòu)建完成,該系統(tǒng)就會投入使用,同時會不可避免地產(chǎn)生更多的新需求。同時,需求過程與分析活動之間有相當(dāng)程度的重疊,分析建模對于設(shè)定工作的范圍和其他一些事來說是必要的,所以我們利用分析模型來描述需求過程,隨著開發(fā)工作的繼續(xù),分析活動在工作中占的比例將變得越來越大,直到所有需求都已知。[1]
1.1 系統(tǒng)需求
企業(yè)的人事管理職能主要分為人事檔案信息管理、人事變動管理、員工培訓(xùn)管理、獎懲管理等內(nèi)容。a)在人事系統(tǒng)開發(fā)時應(yīng)考慮以下需求: b)滿足人事管理職能的基本要求;
c)進(jìn)行多層次數(shù)據(jù)匯總,為各層次管理者的決策分析提供數(shù)據(jù); d)具有完整的系統(tǒng)接口,滿足靈活的數(shù)據(jù)導(dǎo)入與導(dǎo)出; e)對操作人員的技能要求比較低,操作方便; f)能夠?qū)崿F(xiàn)方便的擴(kuò)展,滿足企業(yè)發(fā)展的需要;
g)能夠保障人事管理數(shù)據(jù)的安全、準(zhǔn)確。1.1 功能需求
基于系統(tǒng)需求分析,該系統(tǒng)需要實(shí)現(xiàn)以下基本功能:
a)用戶管理:管理系統(tǒng)操作人員,設(shè)置操作人員口令和權(quán)限。在滿足不同系統(tǒng)用戶的操作需求的基礎(chǔ)上,提高系統(tǒng)的安全性。
b)人事檔案管理:完成企業(yè)對員工個人檔案(包括員工的基本檔案和在職信息)的管理及相關(guān)操作。操作員進(jìn)行員工檔案信息錄入及更改,其中包括員工的基本信息、工作經(jīng)歷、家庭關(guān)系、獎懲記錄和培訓(xùn)經(jīng)歷,要求對這些員工檔案信息進(jìn)行新增、修改、刪除操作,同時可以進(jìn)行查詢和瀏覽操作。該模塊是本系統(tǒng)的重點(diǎn),用戶可以通過該模塊為單位建立一個比較完整的人事檔案系統(tǒng),同時可以對檔案進(jìn)行查看。
c)基礎(chǔ)數(shù)據(jù)管理:維護(hù)人事管理相關(guān)的一些基礎(chǔ)數(shù)據(jù)。主要包括以下功能:
(a)民族檔案設(shè)置:維護(hù)職工中民族檔案信息;
(b)職工類型設(shè)置:維護(hù)當(dāng)前企業(yè)職工與企業(yè)的關(guān)系的類別信息;(c)文化程度設(shè)置:維護(hù)企業(yè)職工的文化程度類別信息;(d)政治面貌設(shè)置:維護(hù)企業(yè)職工的政治面貌類別信息;(e)部門類別設(shè)置:維護(hù)企業(yè)中設(shè)立的部門類別信息;(f)職務(wù)類別設(shè)置:維護(hù)企業(yè)中設(shè)立的職務(wù)類別信息;
(h)職稱類別設(shè)置:維護(hù)企業(yè)職工的職稱類別信息;
d)人事變動管理:對于人事上的變動調(diào)整進(jìn)行管理,對人員檔案的信息進(jìn)行更新(如:員工職務(wù)、員工職稱、員工性質(zhì)等的變動)。
e)工作日志管理:記錄部門或系統(tǒng)用戶的一些備忘信息,包括日常的一些事件記錄,以及工作日記的管理維護(hù)。f)數(shù)據(jù)庫管理:對現(xiàn)有的數(shù)據(jù)庫進(jìn)行管理,包括數(shù)據(jù)備份和恢復(fù),以方便用戶對數(shù)據(jù)庫的管理和維護(hù)工作,提高系統(tǒng)的數(shù)據(jù)安全性。1.3 可靠性要求
a)計(jì)算機(jī)穩(wěn)定可靠,網(wǎng)絡(luò)服務(wù)和數(shù)據(jù)庫服務(wù)穩(wěn)定可靠;
b)網(wǎng)絡(luò)通暢、穩(wěn)定;軟件運(yùn)行穩(wěn)定;數(shù)據(jù)計(jì)算及數(shù)據(jù)傳輸無誤;提供數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)方案。1.4 性能需求 1)硬件環(huán)境
在最低配置的情況下,系統(tǒng)的性能往往不盡如人意,現(xiàn)在的硬件性能已經(jīng)相當(dāng)出色,且 價格也很便宜,因此通常給服務(wù)器端配置高性能硬件。推薦配置為:
·處理器:Intel 奔騰Ⅲ 或更高 ·內(nèi)存:128MB ·硬盤空間:40GB ·顯卡:Geforce系列顯示適配器或更高。2)軟件環(huán)境
·操作系統(tǒng):windows 98/ME/2000/N ·數(shù)據(jù)庫:Microsoft SQL server 2000 開發(fā)環(huán)境簡介
2.1 Delphi簡介
Delphi這個名字源于古希臘的城市名。它集中了第三代語言的優(yōu)點(diǎn)。以O(shè)bject Pascal為基礎(chǔ),擴(kuò)充了面向?qū)ο蟮哪芰?,并且完美地結(jié)合了可視化的開發(fā)手段。Delphi自1995年3月一推出就受到了人們的關(guān)注,并在當(dāng)年一舉奪得了多項(xiàng)大獎。
Delphi的出現(xiàn)打破了Visual系列可視化編程領(lǐng)域一統(tǒng)天下的局面。并且Delphi使用了本地編譯器直接生成技術(shù),使程序的執(zhí)行性能遠(yuǎn)遠(yuǎn)高于其它產(chǎn)品生成的程序。它還是真正的面向?qū)ο蟮木幊陶Z言。PASCAL語言的嚴(yán)謹(jǐn)加上可視化的優(yōu)勢和強(qiáng)大的數(shù)據(jù)庫功能使得它有充分的資本和微軟的VB叫板。許多人當(dāng)時都認(rèn)為Pascal 是最有前途的程序設(shè)計(jì)語言,并預(yù)測Delphi將會成為可視化編程的主流環(huán)境。
Delphi在你編好程序后自動轉(zhuǎn)換成。EXE文件它運(yùn)行時速度比VB快,而且編譯后不需要其他的支持庫就能運(yùn)行。它的數(shù)據(jù)庫功能也挺強(qiáng)的,是開發(fā)中型數(shù)據(jù)庫軟件理想的編程工具。Delphi適用于應(yīng)用軟件、數(shù)據(jù)庫系統(tǒng)、系統(tǒng)軟件等類型的開發(fā)。而且它擁有和VB差不多一樣的功能,而且一樣能應(yīng)用API函數(shù),這在控制Windows很有用。
Delphi是全新的可視化編程環(huán)境,為我們提供了一種方便、快捷的Windows應(yīng)用程序開發(fā)工具。它使用了Microsoft Windows圖形用戶界面的許多先進(jìn)特性和設(shè)計(jì)思想,采用了彈性可重復(fù)利用的完整的面向?qū)ο蟪绦蛘Z言(Object-Oriented Language)、當(dāng)今世界上最快的編輯器、最為領(lǐng)先的數(shù)據(jù)庫技術(shù)。對于廣大的程序開發(fā)人員來講,使用Delphi開發(fā)應(yīng)用軟件,無疑會大大地提高編程效率,而且隨著應(yīng)用的深入,您將會發(fā)現(xiàn)編程不再是枯燥無味的工作——Delphi的每一個設(shè)計(jì)細(xì)節(jié),都將帶給您一份欣喜。
Delphi實(shí)際上是Pascal語言的一種版本,但它與傳統(tǒng)的Pascal語言有天壤之別。一個Delphi程序首先是應(yīng)用程序框架,而這一框架正是應(yīng)用程序的“骨架”。在骨架上即使沒有附著任何東西,仍可以嚴(yán)格地按照設(shè)計(jì)運(yùn)行。您的工作只是在“骨架”中加入您的程序。缺省的應(yīng)用程序是一個空白的窗體(Form),您可以運(yùn)行它,結(jié)果得到一個空白的窗口。這個窗口具有Windows窗口的全部性質(zhì):可以被放大縮小、移動、最大最小化等,但您卻沒有編寫一行程序。因此,可以說應(yīng)用程序框架通過提供所有應(yīng)用程序共有的東西,為用戶應(yīng)用程序的開發(fā)打下了良好的基礎(chǔ)。
Delphi已經(jīng)為您做好了一切基礎(chǔ)工作——程序框架就是一個已經(jīng)完成的可運(yùn)行應(yīng)用程序,只是不處理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代碼而已。在空白窗口的背后,應(yīng)用程序的框架正在等待用戶的輸入。由于您并未告訴它接收到用戶輸入后作何反應(yīng),窗口除了響應(yīng)所有Windows的基本操作(移動、縮放等)外,它只是接受用戶的輸入,然后再忽略。Delphi把Windows編程的回調(diào)、句柄處理等繁復(fù)過程都放在一個不可見的Romulam覆蓋物下面,這樣您可以不為它們所困擾,輕松從容地對可視部件進(jìn)行編程。
面向?qū)ο蟮某绦蛟O(shè)計(jì)(Object-Oriented Programming,簡記為OOP)是Delphi誕生的基礎(chǔ)。OOP立意于創(chuàng)建軟件重用代碼,具備更好地模擬現(xiàn)實(shí)世界環(huán)境的能力,這使它被公認(rèn)為是自上而下編程的優(yōu)勝者。它通過給程序中加入擴(kuò)展語句,把函數(shù)“封裝”進(jìn)Windows編程所必需的“對象”中。面向?qū)ο蟮木幊陶Z言使得復(fù)雜的工作條理清晰、編寫容易。
說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。對象并不與傳統(tǒng)程序設(shè)計(jì)和編程方法兼
其中多媒體音頻視頻播放器是通過TMediaPlayer組件來實(shí)現(xiàn)的,支持的格式與系統(tǒng)已安裝的解碼器有關(guān)???/p>
結(jié)
6.1 程序設(shè)計(jì)風(fēng)格
在設(shè)計(jì)的時候采用了增量模型的思想:把軟件作為一系列的構(gòu)件來設(shè)計(jì),編碼,集成和測試。用戶管理,密碼修改,用戶登陸,萬年歷,這些模塊都有高度的獨(dú)立性,因此他們的可重用性比較高,基本上是一個單元完成一個功能,模塊規(guī)模也比較小,模塊的作用域在控制域之內(nèi),只使用了兩個全局變量來存儲用戶名和用戶權(quán)限。[1]
在人機(jī)界面設(shè)計(jì)方面,本系統(tǒng)做到了以下幾點(diǎn): a)保持一致性(界面,背景的致性);
b)提供有意義的反饋(用戶驗(yàn)證和用戶管理,提供了比較精確的反饋信息); c)在執(zhí)行有較大破壞性的動作之前要求用戶確認(rèn)(數(shù)據(jù)備份與還原); d)允許大多數(shù)取消操作(大多數(shù)單元有取消操作功能);
e)允許犯錯誤(由于權(quán)限的限制,系統(tǒng)能保護(hù)自己不受嚴(yán)重錯誤的破壞); f)按功能對動作分類(在主窗口就是按動作類型組織菜單的); 6.2 有待加強(qiáng)項(xiàng)
a)幫助的制作 一個完整的應(yīng)用程序必須具有完整的幫助系統(tǒng);幫助系統(tǒng)可以在必要的時候給用戶信息提示和一些系統(tǒng)相關(guān)服務(wù)。
b)聲音制作 在這里主要是對聲音的加載,我們可以加載一些一般的聲音;主要來源有:音頻CD盤;波形音頻文件;MP3文件等等。其中波形音頻文件以WAV作為文件的后綴,我們可以播放現(xiàn)成的,也可以播放自己錄制的文件。
c)我們還可以使用各種組件和ActiveX控件等技術(shù)來完善系統(tǒng)。利用一些做好的activeX組件,會縮短開發(fā)周期。
由于在開發(fā)工程方面缺少經(jīng)驗(yàn),所以這個系統(tǒng)還存在著許多不足之處,在測試過程中總結(jié)如下: a)數(shù)據(jù)表的設(shè)計(jì)還不是很合理;
b)數(shù)據(jù)異常處理要更加人性化,錯誤信息的反饋要更加精確; 6.3 心得
經(jīng)過一個月的設(shè)計(jì)和開發(fā),人事管理系統(tǒng)基本開發(fā)完畢,其基本功能符合用戶需求,能夠完成基礎(chǔ)數(shù)據(jù)錄入,數(shù)據(jù)查詢等基本功能,以及相關(guān)報(bào)表的打印。
在這次畢業(yè)設(shè)計(jì)中,我獲益良多。首先我明白了需求分析對于一個系統(tǒng)的開發(fā)的重要性。其次我還學(xué)到了如何把一個軟件作為一個工程來做,在真正的軟件開發(fā)中,一個軟件系統(tǒng)的開發(fā)不是一個人來做,而是很多人合作來完成的,另外還有軟件的后期維護(hù)等等,這時就顯現(xiàn)出了把軟件作為一個工程來做的優(yōu)越性,而這些都離不開數(shù)據(jù)流圖和模塊的分解。
Delphi是一個非常強(qiáng)大的開發(fā)工具,它具有運(yùn)行速度快、易于學(xué)習(xí)和使用以及開發(fā)效率高的特點(diǎn),使用起來真的是很順手。學(xué)習(xí)好一門編程語言以后可以為今后的學(xué)習(xí)和工作帶來很大的便利。
雖然本系統(tǒng)實(shí)現(xiàn)了基本的用戶需求功能,但是還有待于完善和加強(qiáng),總之通過這次設(shè)計(jì)和開發(fā)過程,我對軟件開發(fā)有了進(jìn)一步的了解。
參考文獻(xiàn)
[1] 張海藩編著.軟件工程導(dǎo)論[M].清華大學(xué)出版社出版,2003,1-173.
[2] 宋一兵,趙景波,李春艷著.Delphi 7.0基礎(chǔ)教程[M].機(jī)械工業(yè)出版社,2003,2-30. [3] 劉瑤儒著.新概念SQL Server2000教程[M].北京科海集團(tuán)公司出,2001,12-23. [4] 韓強(qiáng)編著.SQL SERVER 2000 程序員手冊[M].機(jī)械工業(yè)出版社出版,2000,4-35. [5] 薩師煊著.?dāng)?shù)據(jù)庫系統(tǒng)概論(第二版)[M].高等教育出版社,1991,8-40. [6] 施伯樂,丁寶康,汪衛(wèi)著.?dāng)?shù)據(jù)庫系統(tǒng)教程[M].高等教育出版社,2002,1-202.
[7] 肖健著.SQL Server2000實(shí)踐與提高[M].中國電子出版社,2002,13-53. [8] 林金霖著.Delphi6 實(shí)務(wù)經(jīng)典[M].中國鐵道出版社,2002年5月,6-110.
[9] 黃超,王志偉著.Delphi企業(yè)經(jīng)營管理系統(tǒng)開發(fā)實(shí)例導(dǎo)航[M].人民郵電出版社,2003,20-90. [10] 程文剛主編.Delphi數(shù)據(jù)庫實(shí)用編程100例[M].中國鐵道出版社,2004,8-63. [11] 王晟,萬科著.Delphi數(shù)據(jù)庫開發(fā)經(jīng)典案例解析[M].清華大學(xué)出版社,2005,85-89. [12] 王惠剛,唐晨光 彭為著.delphi7/8程序設(shè)計(jì)[M].清華大學(xué)出版社, 2002,42-63.
[13] 瀟湘工作室,邢增平著.Delphi 6.0最佳專輯[M].人民郵電出版社,2003,1-404. [14] 心鈴.Delphi問答.軟件報(bào)[N],2004-07-5.
[15] 高永惠.淺談Delphi中的異常處理方法[J].湖南輕工業(yè)高等專科學(xué)校學(xué)報(bào),2002-04,9-10.
[16] 徐萌飛.在Delphi中使用ADO技術(shù)對數(shù)據(jù)庫操作[J].中國學(xué)術(shù)期刊(光盤版)電子雜志社,2001,12-13. [17] 陳建兵.Delphi中基于安全靈活的動態(tài)連接遠(yuǎn)程數(shù)據(jù)庫SQL的實(shí)現(xiàn)[J].福建電腦,2005,12-13. [18] 孫育紅.關(guān)于地方法院管理信息系統(tǒng)分析設(shè)計(jì)與實(shí)施[D].中國學(xué)術(shù)期刊電子雜志社,2001,8-9.
[19] 岳冰.南部引嫩工程信息管理系統(tǒng)開發(fā)[D].中國學(xué)術(shù)期刊電子雜志社,2003,20-21.
[20] 龐芳,王麗玫.南寧市自動氣象站業(yè)務(wù)服務(wù)數(shù)據(jù)庫系統(tǒng)[D].中國學(xué)術(shù)期刊電子雜志社,2004,21-23.
[21] 徐軍.研究生院綜合管理信息系統(tǒng)的研究與實(shí)現(xiàn)[D].中國學(xué)術(shù)期刊)電子雜志社,2004,32-33.
[22] 魯媛媛.碩士生導(dǎo)師綜合素質(zhì)能力評價指標(biāo)體系的研究[D].中國學(xué)術(shù)期刊電子雜志社,2005,18-19.
致謝
在這里我要我對給予我指導(dǎo)和幫助的曹步青老師以及在測試階段提供機(jī)器和意見的同學(xué)表示我誠至的謝意。曹老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神使我受益匪淺。無論在理論和實(shí)踐中,都給了我很大的幫助,使我綜合素質(zhì)提高不少,這對于我以后的學(xué)習(xí)和工作都有一種很大的幫助。
暨畢業(yè)論文答辯之際,我要忠心感謝湖南科技大學(xué)和計(jì)算機(jī)科學(xué)與工程學(xué)院的各位老師大學(xué)四年來對我的辛勤培養(yǎng)和悉心教育,是科大提供了學(xué)習(xí)機(jī)會,是各位老師傳授了我專業(yè)知識和做人的道理。
最后,再一次感謝我的恩師!感謝我的母校!祝各位老師身體健康,工作順心!愿我校的教育事業(yè)蓬勃發(fā)展!
參考文獻(xiàn)
[23] 張海藩編著.軟件工程導(dǎo)論[M].清華大學(xué)出版社出版,2003,1-173.
[24] 宋一兵,趙景波,李春艷著.Delphi 7.0基礎(chǔ)教程[M].機(jī)械工業(yè)出版社,2003,2-30. [25] 劉瑤儒著.新概念SQL Server2000教程[M].北京科海集團(tuán)公司出,2001,12-23. [26] 韓強(qiáng)編著.SQL SERVER 2000 程序員手冊[M].機(jī)械工業(yè)出版社出版,2000,4-35. [27] 薩師煊著.?dāng)?shù)據(jù)庫系統(tǒng)概論(第二版)[M].高等教育出版社,1991,8-40. [28] 施伯樂,丁寶康,汪衛(wèi)著.?dāng)?shù)據(jù)庫系統(tǒng)教程[M].高等教育出版社,2002,1-202.
[29] 肖健著.SQL Server2000實(shí)踐與提高[M].中國電子出版社,2002,13-53. [30] 林金霖著.Delphi6 實(shí)務(wù)經(jīng)典[M].中國鐵道出版社,2002年5月,6-110.
[31] 黃超,王志偉著.Delphi企業(yè)經(jīng)營管理系統(tǒng)開發(fā)實(shí)例導(dǎo)航[M].人民郵電出版社,2003,20-90. [32] 程文剛主編.Delphi數(shù)據(jù)庫實(shí)用編程100例[M].中國鐵道出版社,2004,8-63. [33] 王晟,萬科著.Delphi數(shù)據(jù)庫開發(fā)經(jīng)典案例解析[M].清華大學(xué)出版社,2005,85-89. [34] 王惠剛,唐晨光 彭為著.delphi7/8程序設(shè)計(jì)[M].清華大學(xué)出版社, 2002,42-63.
[35] 瀟湘工作室,邢增平著.Delphi 6.0最佳專輯[M].人民郵電出版社,2003,1-404. [36] 心鈴.Delphi問答.軟件報(bào)[N],2004-07-5.
[37] 高永惠.淺談Delphi中的異常處理方法[J].湖南輕工業(yè)高等??茖W(xué)校學(xué)報(bào),2002-04,9-10.
[38] 徐萌飛.在Delphi中使用ADO技術(shù)對數(shù)據(jù)庫操作[J].中國學(xué)術(shù)期刊(光盤版)電子雜志社,2001,12-13. [39] 陳建兵.Delphi中基于安全靈活的動態(tài)連接遠(yuǎn)程數(shù)據(jù)庫SQL的實(shí)現(xiàn)[J].福建電腦,2005,12-13. [40] 孫育紅.關(guān)于地方法院管理信息系統(tǒng)分析設(shè)計(jì)與實(shí)施[D].中國學(xué)術(shù)期刊電子雜志社,2001,8-9. [41] 岳冰.南部引嫩工程信息管理系統(tǒng)開發(fā)[D].中國學(xué)術(shù)期刊電子雜志社,2003,20-21.
[42] 龐芳,王麗玫.南寧市自動氣象站業(yè)務(wù)服務(wù)數(shù)據(jù)庫系統(tǒng)[D].中國學(xué)術(shù)期刊電子雜志社,2004,21-23.
[43] 徐軍.研究生院綜合管理信息系統(tǒng)的研究與實(shí)現(xiàn)[D].中國學(xué)術(shù)期刊)電子雜志社,2004,32-33.
[44] 魯媛媛.碩士生導(dǎo)師綜合素質(zhì)能力評價指標(biāo)體系的研究[D].中國學(xué)術(shù)期刊電子雜志社,2005,18-19.
致謝
在這里我要我對給予我指導(dǎo)和幫助的曹步青老師以及在測試階段提供機(jī)器和意見的同學(xué)表示我誠至的謝意。曹老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神使我受益匪淺。無論在理論和實(shí)踐中,都給了我很大的幫助,使我綜合素質(zhì)提高不少,這對于我以后的學(xué)習(xí)和工作都有一種很大的幫助。
暨畢業(yè)論文答辯之際,我要忠心感謝湖南科技大學(xué)和計(jì)算機(jī)科學(xué)與工程學(xué)院的各位老師大學(xué)四年來對我的辛勤培養(yǎng)和悉心教育,是科大提供了學(xué)習(xí)機(jī)會,是各位老師傳授了我專業(yè)知識和做人的道理。
最后,再一次感謝我的恩師!感謝我的母校!祝各位老師身體健康,工作順心!愿我校的教育事業(yè)蓬勃發(fā)展!
第四篇:企業(yè)人事管理系統(tǒng)畢業(yè)論文設(shè)計(jì)-企業(yè)人事管理系統(tǒng)的
畢業(yè)設(shè)計(jì)(論文)
企業(yè)人事管理系統(tǒng)的
設(shè)計(jì)與實(shí)現(xiàn)
摘要
在當(dāng)今社會,互聯(lián)網(wǎng)空前的發(fā)展,給人們的工作和生活帶來了極大的便利和高效,信息化,電子化已經(jīng)成為節(jié)約運(yùn)營成本,提高工作效率的首選。考慮到當(dāng)前大量企業(yè)的人事管理尚處于手工作業(yè)階段,不但效率低下,還常常因?yàn)楣芾淼牟簧鞫霈F(xiàn)紕漏。因此根據(jù)部分企業(yè)提供的需求,設(shè)計(jì)此企業(yè)人事管理系統(tǒng),以幫助企業(yè)達(dá)到人事管理辦公自動化、節(jié)約管理成本、提高企業(yè)工作效率的目的。
本企業(yè)人事管理系統(tǒng)采用C/S結(jié)構(gòu),主要對企業(yè)員工的信息以及跟人事相關(guān)的工作流程進(jìn)行集中的管理,方便企業(yè)建立一個完善的、強(qiáng)大的員工信息數(shù)據(jù)庫。它是以.NET2005.和SQL 2005 Express數(shù)據(jù)庫作為開發(fā)平臺。使用C# 設(shè)計(jì)操作控件和編寫操作程序,完成數(shù)據(jù)輸入、修改、存儲、調(diào)用查詢等功能;并使用SQL 2005數(shù)據(jù)庫形成數(shù)據(jù)表,進(jìn)行數(shù)據(jù)存儲。
本文詳細(xì)介紹了企業(yè)人事管理系統(tǒng)的功能需求,系統(tǒng)設(shè)計(jì)和具體實(shí)現(xiàn)。并簡要介紹了系統(tǒng)開發(fā)采用的過程方法。
關(guān)鍵詞
企業(yè)人事管理系統(tǒng);C/S;員工信息數(shù)據(jù)庫
II
The Design and Implementation of Enterprise Personnel Management System Based on C/S
Abstract
Author:Jing Zhu
Tutor:Weigen Qiu
In our society, the unprecedented development of Internet has brought us great convenience and efficiency.Informatization and electronization have become the first choice of saving operation cost and improving work efficiency.Many enterprises' personnel administration systems lie in the phase of manual management which 阿惹 inefficient and easy to go wrong by carelessness.Therefore, this MIS(Management Information System)is designed to make the personnel administration more scientific, normative and efficient.The system adopts the structure mode of client/server(C/S), Windows XP as the operation system,SQL 2005 Express as the background database, and Microsoft Visual Studio.NET 2005 as the developing tool.It can help enterprises to establish a perfect, strong staff information database, which facilitates the centralized management of staff information and workflow.The paper explains the course design, system design and implementation of MIS, also briefly introduces the process of the system development.Key words: Personnel Management System;C/S;Employee Information Database
III
企業(yè)人事管理系統(tǒng)...........................................................................................................................3 1前言...............................................................................................................................................3
1.1 應(yīng)用的目的與意義............................................................................................................3 1.2 人事管理系統(tǒng)發(fā)展趨勢..................................................................................................3
1.2.2 世界趨勢.................................................................................................................3 1.2.3 技術(shù)革新.................................................................................................................4 1.2.4 工作目標(biāo)和價值觀的改變.....................................................................................4 1.3 系統(tǒng)調(diào)研............................................................................................................................4
1.3.1 社會可行性分析.....................................................................................................4 1.3.2 技術(shù)可行性分析.....................................................................................................4 1.3.3 經(jīng)濟(jì)可行性分析.....................................................................................................5 1.3.4 管理可行性分析.....................................................................................................5 1.4 研究內(nèi)容............................................................................................................................5 2開發(fā)工具及其語言特點(diǎn)................................................................................................................6
2.1 Visual Studio.NET主要特點(diǎn)如下......................................................................................6
2.2.1簡潔的語法..............................................................................................................7 2.2.2精心地面向?qū)ο笤O(shè)計(jì)..............................................................................................8 2.2.3與Web的緊密結(jié)合.................................................................................................8 2.2.4完整的安全性與錯誤處理......................................................................................9 2.2.5版本處理技術(shù)........................................................................................................10 2.2.6靈活性和兼容性....................................................................................................10 3.1SQL2005主要特點(diǎn)...........................................................................................................10 3.1.1.NET框架...............................................................................................................11 3.1.2XML技術(shù)...............................................................................................................11 3.1.3ADO.NET2.0版本.................................................................................................11 3.1.4增強(qiáng)的安全性........................................................................................................11 3.1.5Transact-SQL的增強(qiáng)性能.....................................................................................11 3.1.6SQL服務(wù)中介........................................................................................................11 3.1.7通告服務(wù)................................................................................................................12 3.1.8Web服務(wù)................................................................................................................12 3.1.9報(bào)表服務(wù)................................................................................................................12 3.1.10全文搜索功能的增強(qiáng)..........................................................................................12 3.2C#與ADO.NET.................................................................................................................12 3.2.1 C#中的數(shù)據(jù)庫訪問.............................................................................................12 3.2.2 數(shù)據(jù)綁定...............................................................................................................23 3.3 SQL語言.......................................................................................................................24 3.3.1表定義語句............................................................................................................24 3.3.2視圖定義語句........................................................................................................24 3.3.3索引定義語句........................................................................................................24 3.3.4數(shù)據(jù)操縱語句........................................................................................................24 3.3.5INSERT語句..........................................................................................................25 3.3.6UPDATE語句........................................................................................................25 3.3.7DELETE語句.........................................................................................................25 3.3.8查詢語句................................................................................................................25 廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第1頁
3.3.9條件查詢................................................................................................................25 3.3.10查詢排序..............................................................................................................26 3.3.11統(tǒng)計(jì)查詢..............................................................................................................26 3.3.12Group by子句......................................................................................................26 3.3.13Distinct關(guān)鍵詞.....................................................................................................26 3.3.14Top關(guān)鍵詞............................................................................................................27 3.3.15多表查詢..............................................................................................................27 3.3.16多重查詢..............................................................................................................27 3.3.17EXISTS關(guān)鍵詞....................................................................................................27 4系統(tǒng)需求分析..............................................................................................................................28 4.1系統(tǒng)流程圖如下...............................................................................................................28 5 致謝............................................................................................................................................49 附錄F 各模塊實(shí)現(xiàn)的主要源代碼..............................................................................................52 F1.1登錄模塊的設(shè)計(jì)與實(shí)現(xiàn)的主要代碼.............................................................................52 }...............................................................................................................................................53 F1.2登陸實(shí)體類:................................................................................................................53 F1.3 員工管理模塊的設(shè)計(jì)與實(shí)現(xiàn)的主要代碼..................................................................54 F1.3.1員工管理實(shí)現(xiàn)的主要代碼:......................................................................................54 F1.3.2 部門管理實(shí)現(xiàn)主要代碼:.......................................................................................55 }...............................................................................................................................................57 F1.3.3工資管理主要代碼:.................................................................................................57 }...............................................................................................................................................61 F1.3.4考勤信息設(shè)計(jì)與實(shí)現(xiàn)主要代碼:..............................................................................61 }...............................................................................................................................................64 F1.4 數(shù)據(jù)訪問類:...............................................................................................................64 }...............................................................................................................................................67 F1.5生日提醒主要代碼:.....................................................................................................67 F1.6啟動第三方EXE文件操作類:...................................................................................67 }...............................................................................................................................................68
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第2頁
企業(yè)人事管理系統(tǒng)
1前言
1.1 應(yīng)用的目的與意義
人的管理是一切管理工作的核心。員工代表一個企業(yè)的形象,因而人事管理機(jī)制設(shè)計(jì)的好壞,直接影響一個企業(yè)的成敗。
員工的檔案管理是企業(yè)人事管理的基礎(chǔ),在企業(yè)員工普遍流失的今天,一個準(zhǔn)確而及時的人事管理系統(tǒng),有利于人事部門對員工流動進(jìn)行分析、編制,為企業(yè)所需人員提供了保障。
人力資源部那些重復(fù)的,事務(wù)性的工作交給HRP(Human Resource Planning,人力資源管理系統(tǒng))來解決,可以省去用戶以往人力資源管理工作的繁瑣、枯燥;用領(lǐng)先的人力資源管理理念,把人力資源管理的作業(yè)流程控制和戰(zhàn)略規(guī)劃設(shè)計(jì)巧妙地集合于一體;系統(tǒng)重點(diǎn)涉及到人力資源管理工作中的薪資、考勤、績效、調(diào)動、基本信息、用戶管理以及用戶切換等方面,并有綜合的系統(tǒng)安全設(shè)置、報(bào)表綜合管理模塊??梢院芎玫貫橛脩舻娜肆Y源管理部門在對員工的成本管理、知識管理、績效管理等綜合管理給予幫助。以每個月中所發(fā)工資為例,其中包括考勤、人事信息變動、獎懲、遲到和曠工對本月的薪資計(jì)算都有影響,為了及時的計(jì)算發(fā)放工資往往要提前一個星期花費(fèi)大量時間,加班加點(diǎn)才能及時完成,而這樣做無論從工作效率還是準(zhǔn)確度方面,都不允許,而且還浪費(fèi)大量的人力財(cái)力。如果改用HRP管理做到高效、高精度,還可以減少管理時帶來的一些繁瑣的工作,節(jié)約管理帶來的開支。1.2 人事管理系統(tǒng)發(fā)展趨勢 1.2.2 世界趨勢
人力資源管理系統(tǒng)主導(dǎo)21世紀(jì),無論是發(fā)達(dá)國家還是發(fā)展中國家,對人力資源的戰(zhàn)略性意義都有了深刻的認(rèn)識,并開始付諸行動。世界公認(rèn),21世紀(jì)將是人力資源的世紀(jì);人力資源問題將主導(dǎo)整個21世紀(jì)甚至更為遙遠(yuǎn),這種狀況的變化起因于競爭壓力。目前,世界經(jīng)濟(jì)趨向全球化。世界經(jīng)濟(jì)的全球化過程和國廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第3頁
家的開放過程,要求組織的管理部門降低管理成本以減少競爭壓力和增強(qiáng)競爭能力。對于不同的組織,人力資源成本在總成本中的比例是不一樣的。1.2.3 技術(shù)革新
無論是現(xiàn)在還是將來,工業(yè)的發(fā)展越來越多地取決于科學(xué)和技術(shù)、知識與技能。高新科技產(chǎn)業(yè)更是如此。這不僅要求員工尤其是技術(shù)人員掌握新的科學(xué)知識和技術(shù)能力,而且更重要的在于要求員工深入而快捷地掌握和應(yīng)用這些知識和技能。這就導(dǎo)致了兩個問題。第一,隨著這種技術(shù)革新的發(fā)展和知識更新速度的加快,人們有更多的職業(yè)選擇機(jī)會。第二,伴隨著這種發(fā)展以及職業(yè)選擇機(jī)會的增多,人力資源管理活動和頻繁程度加?。欢疫@種活動對科學(xué)技術(shù)的要求與它的反應(yīng)程度也更高了,進(jìn)而提高了人力資源成本。1.2.4 工作目標(biāo)和價值觀的改變
隨著社會政治和經(jīng)濟(jì)的發(fā)展,人們的工作目標(biāo)和價值觀也都發(fā)生了重要的變化。這就對人事管理部門和管理人員提出了新的要求和新的問題,不得不考慮諸如工作類型設(shè)計(jì)、崗位分析、充分尊重員工以及為他們提供良好的個人發(fā)展和自我價值實(shí)現(xiàn)的環(huán)境與條件等問題。這樣,人力資源管理就派上了用場。1.3 系統(tǒng)調(diào)研 1.3.1 社會可行性分析
隨著計(jì)算機(jī)的發(fā)展與普及,以及互聯(lián)網(wǎng)技術(shù)的擴(kuò)展,日常勞資人事管理必將實(shí)現(xiàn)無紙化辦公,并且加入到公司內(nèi)部的Intranet或者是Internet上去,實(shí)現(xiàn)數(shù)據(jù)的共享,這樣有利于勞資人事信息在單位內(nèi)部的查詢,提高了數(shù)據(jù)資源的利用,并且能及時的得到更新,不需要象過去那樣浪費(fèi)大量的人力物力去進(jìn)行抄寫,提高了工作的效率 1.3.2 技術(shù)可行性分析
Visual Studio.NET提供了一個統(tǒng)一的、緊密集成的可視化編程環(huán)境,簡化了開發(fā)應(yīng)用程序的過程,縮短了實(shí)用方法的時間。利用Visual Studio.NET,可以非常廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第4頁
輕松地創(chuàng)建具有自動伸縮能力的可靠的應(yīng)用程序和組件。而且微軟的優(yōu)秀成果c#語言保持了c/c++所特有的強(qiáng)大功能和控制能力。與c++十分相似的模型和語法,具有與COM+服務(wù)完全的交互性和完全支持能力,能夠輕松地遷移現(xiàn)有的代碼。數(shù)據(jù)庫方面SQL2005已經(jīng)可以滿足中小型企業(yè)的數(shù)據(jù)要求,甚至有些大型企業(yè)都可以達(dá)到要求。如今進(jìn)算計(jì)普及程度日益推廣,計(jì)算機(jī)配置日新月異,能承載此系統(tǒng)的機(jī)器就如辦公的機(jī)器都可以達(dá)到要求。所以說本系統(tǒng)具有技術(shù)可行性。
1.3.3 經(jīng)濟(jì)可行性分析 采用傳統(tǒng)的手工輸入方法,不僅工作繁瑣而且需要人力輸入多,記錄容易出錯,那樣產(chǎn)生了成本高,效果差的弊病,對于一個企業(yè)的資料庫建立是十分困難和麻煩的。而采用這種系統(tǒng)所發(fā)費(fèi)的成本,精力都遠(yuǎn)遠(yuǎn)低于手工,并且實(shí)用十分方便,更新也簡易,每個部門只需一個人統(tǒng)一管理,對企業(yè)實(shí)現(xiàn)辦公無紙化能起到很大的作用。所以此系統(tǒng)經(jīng)濟(jì)可行性也具備了。1.3.4 管理可行性分析
本系統(tǒng)采用了系統(tǒng)數(shù)據(jù)備份、恢復(fù)的功能,而且界面層次分明,一目了然,加上設(shè)計(jì)方面加入了人性化元素。管理此系統(tǒng)并不難,易學(xué)易會。1.4 研究內(nèi)容
本論文共分為5章。第1章緒論,介紹了本課題的應(yīng)用目的和意義、人事管理系統(tǒng)、可行性分析和研究內(nèi)容。第2章介紹了開發(fā)工具及其特點(diǎn)、數(shù)據(jù)庫技術(shù)。第3章主要介紹了系統(tǒng)的設(shè)計(jì)與分析,包括總體設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、詳細(xì)設(shè)計(jì)等。第4章主要介紹系統(tǒng)實(shí)現(xiàn),即系統(tǒng)各種模塊的功能實(shí)現(xiàn)。第5章為本課題完成成果和發(fā)展期望的總結(jié)。
本論文主要利用C#可視化技術(shù)及SQL數(shù)據(jù)庫開發(fā)技術(shù),對員工管理與考勤管理系統(tǒng)進(jìn)行系統(tǒng)化、細(xì)致化和完善化的分析研究。
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第5頁
2開發(fā)工具及其語言特點(diǎn)
2.1 Visual Studio.NET主要特點(diǎn)如下 2.1.1提供加速開發(fā)過程的高效工具
Visual Studio.NET提供了一個統(tǒng)一的、緊密集成的可視化編程環(huán)境,以幫助用戶簡化開發(fā)網(wǎng)絡(luò)應(yīng)用程序的過程,縮短學(xué)習(xí)使用方法的時間。它提供了一種新的語言——C#。通過共享的HTML、XML和樣式單編輯器,用戶可以輕松地借助包括C#在內(nèi)的任何一種Visual Studio語言來開發(fā)網(wǎng)絡(luò)應(yīng)用程序。2.1.2 提供對各種網(wǎng)絡(luò)應(yīng)用程序的快速設(shè)計(jì)能力
借助Web Form,用戶可以用他們在開發(fā)基于窗體的桌面應(yīng)用程序時所使用的技巧來創(chuàng)建跨平臺、跨瀏覽器的網(wǎng)絡(luò)應(yīng)用程序。2.1.3 利用XML和Web Service來簡化分布式計(jì)算
Web Service借助標(biāo)準(zhǔn)的Intemet協(xié)議在網(wǎng)絡(luò)上調(diào)用商務(wù)邏輯。HTTP被作為Web Service傳輸?shù)幕A(chǔ)協(xié)議,該協(xié)議使得對功能的請求能夠穿越各種團(tuán)體所使用的防火墻。XML被用來對上述功能請求的參數(shù)進(jìn)行格式統(tǒng)一,從而使這些請求能夠使用于所有的軟件和硬件。這樣使得對Web Service的訪問可以通過任何一種語言、使用任何一種組件模型在任何一種操作系統(tǒng)上實(shí)現(xiàn)。2.1.4快速構(gòu)建中間層商務(wù)組件
Visual Studio的一個核心目標(biāo)就是要為基于服務(wù)器的應(yīng)用程序提供應(yīng)用程序快速部署工具。利用Visual Studio.NET創(chuàng)建的組件將為您的商務(wù)運(yùn)作提供足夠的功能和伸縮性。
2.1.5構(gòu)建可靠的可伸縮解決方案
利用Visual Studio.NET,用戶可以非常輕松地創(chuàng)建具有自動伸縮能力的可靠的應(yīng)用程序和組件。2.2 C#技術(shù)概述
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第6頁
C#在帶來對應(yīng)用程序的快速開發(fā)能力的同時,并沒有犧牲C與C++程序員所關(guān)心的各種特性。它忠實(shí)地繼承了C和C++的優(yōu)點(diǎn)。如果你對C或C++有所了解,你會發(fā)現(xiàn)它是那樣的熟悉。即使你是一位新手,C#也不會給你帶來任何其它的麻煩,快速應(yīng)用程序開發(fā)(Rapid Application Development,RAD)的思想與簡潔的語法將會使你迅速成為一名熟練的開發(fā)人員。
C#是專門為.NET應(yīng)用而開發(fā)出的語言。這從根本上保證了C#與.NET框架的完美結(jié)合。在.NET運(yùn)行庫的支持下,.NET框架的各種優(yōu)點(diǎn)在C#中表現(xiàn)得淋漓盡致。C#的一些突出的特點(diǎn) ●簡潔的語法
●精心地面向?qū)ο笤O(shè)計(jì) ●與Web的緊密結(jié)合 ●完整的安全性與錯誤處理 ●版本處理技術(shù) ●靈活性與兼容性 2.2.1簡潔的語法
在缺省的情況下,C#的代碼在.NET框架提供的“可操縱”環(huán)境下運(yùn)行,不允許直接地內(nèi)存操作。它所帶來的最大的特色是沒有了指針。與此相關(guān)的是,那些在C++中被瘋狂使用的操作符(例如:“::”、“->”和“.,”)已經(jīng)不再出現(xiàn)。C#只支持一個“.”,對于我們來說,現(xiàn)在需要理解的一切僅僅是名字的嵌套而已。
C#用真正的關(guān)鍵字換掉了那些把活動模板庫(Active Template Library,ALT)和COM搞得亂糟糟的偽關(guān)鍵字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每種C#操作符在.NET類庫中都有了新名字。
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第7頁
語法中的冗余是C++中的常見的問題,比如“const”和“#define”、各種各樣的字符類型等等。C#對此進(jìn)行了簡化,只保留了常見的形式,而別的冗余形式從它的語法結(jié)構(gòu)中被清除了出去。2.2.2精心地面向?qū)ο笤O(shè)計(jì)
從Smalltalk開始,面向?qū)ο蟮脑掝}就始終纏繞著任何一種現(xiàn)代程序設(shè)計(jì)語言。的確,C#具有面向?qū)ο蟮恼Z言所應(yīng)有的一切特性:封裝、繼承與多態(tài)性,這并不出奇。然而,通過精心地面向?qū)ο笤O(shè)計(jì),從高級商業(yè)對象到系統(tǒng)級應(yīng)用,C#建造廣泛組件的絕對選擇。在C#的類型系統(tǒng)中,每種類型都可以看作一個對象。C#提供了一個叫做裝箱(boxing)與拆箱(unboxing)的機(jī)制來完成這種操作,而不給使用者帶來麻煩,這在以后的章節(jié)中將進(jìn)行更為詳細(xì)的介紹。
C#只允許單繼承,即一個類不會有多個基類,從而避免了類型定義的混亂。在后面的學(xué)習(xí)中你很快會發(fā)現(xiàn),C#中沒有了全局函數(shù),沒有了全局變量,也沒有了全局常數(shù)。一切的一切,都必須封裝在一個類之中。你的代碼將具有更好的可讀性,并且減少了發(fā)生命名沖突的可能。整個C#的類模型是建立在.NET虛擬對象系統(tǒng)(Visual Object System,VOS)的基礎(chǔ)之上,其對象模型是.NET基礎(chǔ)架構(gòu)的一部分,而不再是其本身的組成部分。在下面將會談到,這樣做的另一個好處是兼容性。
借助于從VB中得來的豐富的RAD經(jīng)驗(yàn),C#具備了良好的開發(fā)環(huán)境。結(jié)合自身強(qiáng)大的面向?qū)ο蠊δ?,C#使得開發(fā)人員的生產(chǎn)效率得到極大的提高。對于公司而言,軟件開發(fā)周期的縮短將能使它們更好應(yīng)付網(wǎng)絡(luò)經(jīng)濟(jì)的競爭。在功能與效率的杠桿上人們終于找到了支點(diǎn)。2.2.3與Web的緊密結(jié)合
.NET中新的應(yīng)用程序開發(fā)模型意味著越來越多的解決方案需要與Web標(biāo)準(zhǔn)相統(tǒng)一,例如超文本標(biāo)記語言(Hypertext Markup Language,HTML)和XML。由于歷史的原因,現(xiàn)存的一些開發(fā)工具不能與Web緊密地結(jié)合。SOAP的使用使得C#克服了這一缺陷,大規(guī)模深層次的分布式開發(fā)從此成為可能。
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第8頁
由于有了Web服務(wù)框架的幫助,對程序員來說,網(wǎng)絡(luò)服務(wù)看起來就象是C#的本地對象。程序員們能夠利用他們已有的面向?qū)ο蟮闹R與技巧開發(fā)Web服務(wù)。僅需要使用簡單的C#語言結(jié)構(gòu),C#組件將能夠方便地為Web服務(wù),并允許它們通過Internet被運(yùn)行在任何操作系統(tǒng)上的任何語言所調(diào)用。舉個例子,XML已經(jīng)成為網(wǎng)絡(luò)中數(shù)據(jù)結(jié)構(gòu)傳遞的標(biāo)準(zhǔn),為了提高效率,C#允許直接將XML數(shù)據(jù)映射成為結(jié)構(gòu)。這樣就可以有效的處理各種數(shù)據(jù)。2.2.4完整的安全性與錯誤處理
語言的安全性與錯誤處理能力,是衡量一種語言是否優(yōu)秀的重要依據(jù)。任何人都會犯錯誤,即使是最熟練的程序員也不例外:忘記變量的初始化,對不屬于自己管理范圍的內(nèi)存空間進(jìn)行修改,這些錯誤常常產(chǎn)生難以預(yù)見的后果。一旦這樣的軟件被投入使用,尋找與改正這些簡單錯誤的代價將會是讓人無法承受的。C#的先進(jìn)設(shè)計(jì)思想可以消除軟件開發(fā)中的許多常見錯誤,并提供了包括類型安全在內(nèi)的完整的安全性能。為了減少開發(fā)中的錯誤,C#會幫助開發(fā)者通過更少的代碼完成相同的功能,這不但減輕了編程人員的工作量,同時更有效地避免了錯誤的發(fā)生。
.NET運(yùn)行庫提供了代碼訪問安全特性,它允許管理員和用戶根據(jù)代碼的ID來配置安全等級。在缺省情況下,從Internet和Intranet下載的代碼都不允許訪問任何本地文件和資源。比方說,一個在網(wǎng)絡(luò)上的共享目錄中運(yùn)行的程序,如果它要訪問本地的一些資源,那么異常將被觸發(fā),它將會無情地被異常扔出去,若拷貝到本地硬盤上運(yùn)行則一切正常。內(nèi)存管理中的垃圾收集機(jī)制減輕了開發(fā)人員對內(nèi)存管理的負(fù)擔(dān)。.NET平臺提供的垃圾收集器(Garbage Collection,GC)將負(fù)責(zé)資源的釋放與對象撤銷時的內(nèi)存清理工作。
變量類型是安全的。C#中不能使用未初始化的變量,對象的成員變量由編譯器負(fù)責(zé)將其置為零,當(dāng)局部變量未經(jīng)初始化而被使用時,編譯器將做出提醒;C#不支持不安全的指向,不能將整數(shù)指向引用類型,例如對象,當(dāng)進(jìn)行下行指向時,C#將自動驗(yàn)證指向的有效性;C#中提供了邊界檢查與溢出檢查功能。
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第9頁
2.2.5版本處理技術(shù)
C#提供內(nèi)置的版本支持來減少開發(fā)費(fèi)用,使用C#將會使開發(fā)人員更加輕易地開發(fā)和維護(hù)各種商業(yè)用戶。升級軟件系統(tǒng)中的組件(模塊)是一件容易產(chǎn)生錯誤的工作。在代碼修改過程中可能對現(xiàn)存的軟件產(chǎn)生影響,很有可能導(dǎo)致程序的崩潰。為了幫助開發(fā)人員處理這些問題,C#在語言中內(nèi)置了版本控制功能。例如:函數(shù)重載必須被顯式聲明,而不會象在C++或java中經(jīng)常發(fā)生的那樣不經(jīng)意地被進(jìn)行,這可以防止代碼級錯誤和保留版本化的特性。另一個相關(guān)的特性是接口和接口繼承的支持。這些特性可以保證復(fù)雜的軟件可以被方便地開發(fā)和升級。
2.2.6靈活性和兼容性
在簡化語法的同時,C#并沒有失去靈活性。盡管它不是一種無限制語言,比如:它不能用來開發(fā)硬件驅(qū)動程序,在默認(rèn)的狀態(tài)下沒有指針等等,但是,在學(xué)習(xí)過程中你將發(fā)現(xiàn),它仍然是那樣的靈巧。
如果需要,C#允許你將某些類或者類的某些方法聲明為非安全的。這樣一來,你將能夠使用指針、結(jié)構(gòu)和靜態(tài)數(shù)組,并且調(diào)用這些非安全代碼不會帶來任何其它的問題。此外,它還提供了一個另外的東西(這樣的稱呼多少有些不敬)來模擬指針的功能--delegates,代表。再舉一個例子:C#不支持類的多繼承,但是通過對接口的繼承,你將獲得這一功能。2.2.7安全性
正是由于其靈活性,C#允許與C風(fēng)格的需要傳遞指針型參數(shù)的API進(jìn)行交互操作,DLL的任何入口點(diǎn)都可以在程序中進(jìn)行訪問。C#遵守.NET公用語言規(guī)范(Common Language Specification,CLS),從而保證了C#組件與其它語言組件間的互操作性。元數(shù)據(jù)(Metadata)概念的引入既保證了兼容性,又實(shí)現(xiàn)了類型安全。3.1SQL2005主要特點(diǎn)
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第10頁
3.1.1.NET框架
使用SQL Server2005,開發(fā)人員通過使用相似的語言,例如微軟的VisualC#.NET和微軟的VisualBasic,將能夠創(chuàng)立數(shù)據(jù)庫對象。開發(fā)人員還將能夠建立兩個新的對象——用戶定義的類和集合。
3.1.2XML技術(shù)
在使用本地網(wǎng)絡(luò)和互聯(lián)網(wǎng)的情況下,在不同應(yīng)用軟件之間散步數(shù)據(jù)的時候,可擴(kuò)展標(biāo)記語言(XML)是一個重要的標(biāo)準(zhǔn)。SQL Server2005將會自身支持存儲和查詢可擴(kuò)展標(biāo)記語言文件。
3.1.3ADO.NET2.0版本
從對SQL類的新的支持,到多活動結(jié)果集(MARS),SQL Server2005中的ADO.NET將推動數(shù)據(jù)集的存取和操縱,實(shí)現(xiàn)更大的可升級性和靈活性。
3.1.4增強(qiáng)的安全性
SQL Server2005中的新安全模式將用戶和對象分開,提供fine-grainaccess存取、并允許對數(shù)據(jù)存取進(jìn)行更大的控制。另外,所有系統(tǒng)表格將作為視圖得到實(shí)施,對數(shù)據(jù)庫系統(tǒng)對象進(jìn)行了更大程度的控制。
3.1.5Transact-SQL的增強(qiáng)性能
SQL Server2005為開發(fā)可升級的數(shù)據(jù)庫應(yīng)用軟件,提供了新的語言功能。這些增強(qiáng)的性能包括處理錯誤、遞歸查詢功能、關(guān)系運(yùn)算符PIVOT,APPLY,ROW_NUMBER和其他數(shù)據(jù)列排行功能,等等。
3.1.6SQL服務(wù)中介
SQL服務(wù)中介將為大型、營業(yè)范圍內(nèi)的應(yīng)用軟件,提供一個分布式的、異步應(yīng)用框架。
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第11頁
3.1.7通告服務(wù)
通告服務(wù)使得業(yè)務(wù)可以建立豐富的通知應(yīng)用軟件,向任何設(shè)備,提供個人化的和及時的信息,例如股市警報(bào)、新聞訂閱、包裹遞送警報(bào)、航空公司票價等。在SQL Server2005中,通告服務(wù)和其他技術(shù)更加緊密地融合在了一起,這些技術(shù)包括分析服務(wù)、SQLServerManagementStudio。
3.1.8Web服務(wù)
使用SQL Server2005,開發(fā)人員將能夠在數(shù)據(jù)庫層開發(fā)Web服務(wù),將SQL Server當(dāng)作一個超文本傳輸協(xié)議(HTTP)偵聽器,并且為網(wǎng)絡(luò)服務(wù)中心應(yīng)用軟件提供一個新型的數(shù)據(jù)存取功能。
3.1.9報(bào)表服務(wù)
利用SQL Server2005,報(bào)表服務(wù)可以提供報(bào)表控制,可以通過VisualStudio2005發(fā)行。
3.1.10全文搜索功能的增強(qiáng)
SQL Server2005將支持豐富的全文應(yīng)用軟件。服務(wù)器的編目功能將得到增強(qiáng),對編目的對象提供更大的靈活性。查詢性能和可升級性將大幅得到改進(jìn),同時新的管理工具將為有關(guān)全文功能的運(yùn)行,提供更深入的了解。3.2C#與ADO.NET
3.2.1 C#中的數(shù)據(jù)庫訪問
用.NET框架編寫的(當(dāng)然也包括用C#編寫的應(yīng)用程序)應(yīng)用程序需要訪問數(shù)據(jù)庫時,將使用ADO.NET來實(shí)現(xiàn)數(shù)據(jù)庫訪問。數(shù)據(jù)綁定是一種非常有用的訪問數(shù)據(jù)庫的方法,能夠減少需要編寫的代碼量。很多簡單任務(wù)可以通過純粹聲明式代廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第12頁
碼來完成。<1> ADO.NET ADO.NET是微軟的數(shù)據(jù)訪問框架的最新產(chǎn)物,它是.NET框架的一部分。在ADO.NET之前,程序員在ASP(Active Server Pages)或Visual Basic中使用ADO(AtiveX Data Objects),這是一組COM(Component Object Model,組件對象模型)組件,它通過一個易于使用的封裝類提供對底層數(shù)據(jù)訪問代碼的訪問。雖然ADO大大簡化了數(shù)據(jù)庫訪問,但更高級的程序員(特別是C++程序員)通常更喜歡使用更直接、更快的代碼,如OLE DB(Object Linking and Embedding for Databases)代碼庫。
ADO.NET比ADO的功能更強(qiáng)大。它是在.NET代碼中訪問數(shù)據(jù)庫的最好工具。
.NET框架中的ADO.NET類型(在System.Data命名空間及其子空間下的所有類型)包括那些為訪問SQL Server、OLE DB、ODBC和Oracle數(shù)據(jù)庫而優(yōu)化的類型。它們都是基于通用類的,因此使用ADO.NET訪問不同的DBMS是相似的。
ADO.NET類型實(shí)現(xiàn)兩個主要的功能。
● 數(shù)據(jù)訪問:用于訪問數(shù)據(jù)庫中數(shù)據(jù)和操作數(shù)據(jù)庫的類型;
● 數(shù)據(jù)表示:用于包含數(shù)據(jù)庫數(shù)據(jù)(如數(shù)據(jù)表)的類型。
這兩種類型之間聯(lián)系密切,在數(shù)據(jù)庫開發(fā)中兩種類型都會用到。嚴(yán)格地說,可以只用一種數(shù)據(jù)庫訪問類型。然而,如果使用數(shù)據(jù)訪問類型來填充數(shù)據(jù)表示類型將節(jié)省大量工作。
ADO.NET包含7個重要的基類,其中4個是數(shù)據(jù)訪問類:
● DbConnection;
● DbCommand;
● DbDataReader;
● DbDataAdapter。其他3個類是數(shù)據(jù)表示類:
● DataTable;
● DataRelation;
● DataSet。
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第13頁
DataTable類使用了其他一些重要的類:DataColum、Constraint和DataRow,本節(jié)也將介紹它們。1.DbConnection DbConnection類提供與數(shù)據(jù)庫的連接。創(chuàng)建DbConnection對象時,應(yīng)提供與DBMS通信所需的所有信息,如數(shù)據(jù)庫的位置、用于認(rèn)證的用戶名和密碼以及要訪問的DBMS中的數(shù)據(jù)庫。
所有其他ADO.NET數(shù)據(jù)訪問類都依靠DbConnection與數(shù)據(jù)庫進(jìn)行通信。DbConnection類的扮演角色如圖2.1所示。
圖3.2.1 DbConnection類
在從DbConnection派生而來的類中,到數(shù)據(jù)庫的連接都是由連接字符串定義的,該字符串存儲在屬性DbConnection.ConnectionString中。
數(shù)據(jù)庫連接應(yīng)只在傳輸數(shù)據(jù)時才打開,因此創(chuàng)建DbConnection實(shí)例時并不自動連接到數(shù)據(jù)庫。DbConnection類定義了Open()方法和Close()方法,用于控制連接何時可用。很多其他的ADO.NET類也能控制連接狀態(tài),例如,有些類在完成操作后關(guān)閉它們使用的連接。
DbConnection對象還能參與事務(wù)??捎肈bConnection.BeginTransaction()方法開始事務(wù),或使用DbConnection.EnlistTransaction()作為已有事務(wù)的一部分執(zhí)行操作。
訪問SQL Server或SQL Server速成版中的數(shù)據(jù)時,使用SqlConnection,該類是DbConnection的子類。一般來說,DbConnection和SqlConnection及其他子類都稱為連接類。2.DbCommand DbCommand類提供與數(shù)據(jù)庫交互的主要方法??梢杂肈bCommand對象來執(zhí)行廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第14頁
SQL語句、運(yùn)行存儲過程等。DbCommand及其派生類稱為命令類。
大部分時候并不直接使用DbCommand,而是用封裝了DbCommand的其他對象。但有時候需要對數(shù)據(jù)庫通信進(jìn)行更多的控制,這時就可以使用DbCommand對象。
DbCommand對象的扮演角色如圖2.2所示。
圖3.2.2 DbCommand類
DbCommand中最重要的屬性是DbCommand.CommandText。要執(zhí)行SQL語句,就要將語句文本放在這個屬性中??梢杂肈bCommand.CommandType來指定要執(zhí)行的語句類型,使用DbCommand.Connection和DbCommand.Tranction來訪問底層的連接或事務(wù)。
要注意,DbCommand對象可能有參數(shù)化的命令字符串,命令中的參數(shù)來自類型為DbCommand.Parameters集合的屬性。這與直接在命令字符串中輸入?yún)?shù)相比有很多優(yōu)點(diǎn),在本書后面部分將會看到。
要使用DbCommand對象執(zhí)行命令,有三種選擇,這取決于要執(zhí)行的命令是什么。有些命令不返回結(jié)果,這種情況下可以用DbCommand.ExecuteNonQuery()方法;有些命令返回一個結(jié)果,這時可用DbCommand.ExecuteScalar()方法;最后,有很多命令返回多行數(shù)據(jù),這時可用DbCommand.ExecuteReader()方法,它將返回一個DbDataReader對象(下一小節(jié)將解釋)。
SQL Server的DbCommand版本名為SqlCommand。它有自己的一些特殊方法,如SqlCommand.ExecuteXmlReader()方法,它直接以XML格式返回結(jié)果。3.DbDataReader 使用DbDataReader類可以從結(jié)果集中讀取數(shù)據(jù),如從執(zhí)行存儲在命令對象中的命令生成的結(jié)果集中讀取數(shù)據(jù)。該類經(jīng)過高度優(yōu)化,可以很快地訪問數(shù)據(jù)庫中的廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第15頁
數(shù)據(jù)。然而,這種優(yōu)化也有些副作用,例如,只能以串行方式一次讀取一行數(shù)據(jù)。不能讀完兩行后再返回去讀取第一行。通常,可以用DbDataReader對象(更確切地說,是數(shù)據(jù)閱讀器的子類對象)來提取要使用的行數(shù)據(jù),并將其存儲在其他對象中。例如,可以讀取一個結(jié)果集中的每行,將其存儲到在自定義集合或泛型列表對象中的自定義類中。
與命令對象一樣,很多時候數(shù)據(jù)閱讀器對象是由ADO.NET命名空間下的其他類使用的,用戶不必直接使用它們。
圖3.2.3說明了如何在數(shù)據(jù)庫應(yīng)用程序中使用數(shù)據(jù)閱讀器。
要使用數(shù)據(jù)閱讀器對象,首先必須調(diào)用DbDataReader.Read()方法選擇結(jié)果集中的第一行??刹粩嗾{(diào)用該方法來移動數(shù)據(jù)閱讀器,使數(shù)據(jù)閱讀器像結(jié)果集中的游標(biāo)一樣總是指向一行。獲取一行時,Read()方法返回true;否則返回false—如當(dāng)所有行都已經(jīng)讀完時。也可以用DbDataReader.HasRows屬性來判斷結(jié)果集中是否還有其他行。
圖3.2.4 DbDataReader類
很多屬性和方法可用于檢查當(dāng)前選中的行。DbDataReader.FieldCount查看當(dāng)前行包含多少列,并用DbDataReader的重載索引器訪問各列。如果知道要訪問的列名,可用基于字符串的索引器來獲得列值,也可以使用基于整數(shù)的索引器通過位置獲得列。在這兩種情況下,這種方法都將返回object值,可將其轉(zhuǎn)化為其他類型的數(shù)據(jù)。
也可以使用DbDataReader提供的多個方法直接獲得類型化數(shù)據(jù),如GetString()和GetInt32()分別將指定列以string和int值返回,列通過其索引選擇。要使用這廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第16頁
些方法獲得值類型,必須首先使用DbDataReader.IsDBNull檢查空值;否則,空值將引發(fā)異常。檢查空值是必須的,因?yàn)椴还苁裁磾?shù)據(jù)庫類型都可以為空。這與.NET中的值類型不同,可為空的值類型(如int)在這種上下文環(huán)境中是不受支持的。
DbDataReader也能夠獲得關(guān)于它包含的數(shù)據(jù)的元信息—使用DbDataReader.GetSchema Table()方法,這樣就可以知道列的名稱、數(shù)據(jù)類型和其他信息,如列是否包含空值。
與前面的其他類一樣,也有專門用于SQL Server的數(shù)據(jù)閱讀器類,這就是SqlDataReader,本書將使用該類。該類繼承DbDataReader,提供將數(shù)據(jù)讀取為本地SQL類型的方法,這樣就能夠避免空類型的問題。這些類型包含在System.Data.Sqltypes命名空間中,是可為空的;如SqlDouble和SqlInt32。雖然這些類型也可以像標(biāo)準(zhǔn)的值類型那樣進(jìn)行操作,但它們實(shí)際上是引用類型。4.DbDataAdapter 在ADO.NET的核心數(shù)據(jù)訪問類中,最后一個是DbDataAdapter類。它比前面介紹過的類型要復(fù)雜得多,設(shè)計(jì)該類的目的只有一個:減少存儲在數(shù)據(jù)集對象中的數(shù)據(jù)與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交換時的干擾。與前面的類一樣,DbDataAdapter類也有很多派生類,它們統(tǒng)稱為數(shù)據(jù)適配器類。
稍后將詳細(xì)解釋什么是數(shù)據(jù)集對象,簡單地說,它們是能夠以.NET對象的形來表示數(shù)據(jù)庫中數(shù)據(jù)的對象。數(shù)據(jù)集對象可以包含整個表或多個表的數(shù)據(jù)。數(shù)據(jù)適配器既可以將數(shù)據(jù)庫中的數(shù)據(jù)傳輸給包含在數(shù)據(jù)集中的表,也可以將數(shù)據(jù)集中的數(shù)據(jù)傳輸?shù)綌?shù)據(jù)庫中。
這個功能由命令對象和數(shù)據(jù)閱讀器對象執(zhí)行,因此大部分時候用戶不必考慮它。然而,DbDataAdapter最重要的(也是最有用的)特性之一是,它用于傳輸數(shù)據(jù)的命令對象被暴露出來,因此可以根據(jù)需要對它們進(jìn)行定制。圖2.4說明了DbDataAdapter類的工作原理,包括它包含的命令對象。
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第17頁
圖3.2.4 DbDataAdapter類
數(shù)據(jù)適配器使用的4個命令對象存儲在4個屬性中:SelectCommand(用于查詢數(shù)據(jù))、InsertCommand(用于添加數(shù)據(jù))、UpdateCommand(用于編輯數(shù)據(jù))和DeleteCommand(用于刪除數(shù)據(jù))。要使用適配器,并不一定全部用到這4個屬性,例如,可以只用適配器來查詢數(shù)據(jù)。另外,.NET框架可以根據(jù)其他命令的值推斷出命令的值,例如,可以根據(jù)查詢命令來生成更新、插入和刪除命令。然而,這種自動生成的命令的效率可能不如手工提供的高。本書稍后還會討論這個問題。
數(shù)據(jù)適配器中最常用的兩個方法是
DbDataAdapter.Fill()和DbDataAdapter.Update()。Fill()方法從數(shù)據(jù)庫中獲取數(shù)據(jù);Update()方法更新數(shù)據(jù)庫中的數(shù)據(jù)。這兩個方法都可以用于數(shù)據(jù)集或單個數(shù)據(jù)表。另外,可以使用DbDataAdapter.FillSchema()獲取架構(gòu)數(shù)據(jù)。
SQL Server中的DbDataAdapter版本是Sql DbDataAdapter。5.DataTable DataTable是ADO.NET提供的第一個數(shù)據(jù)表示類。與數(shù)據(jù)訪問類不同,數(shù)據(jù)表示類沒有專門用于特定數(shù)據(jù)庫管理系統(tǒng)(如SQL Server)的子類,它們獨(dú)立于平臺。實(shí)際上,如果需要的話,數(shù)據(jù)表示類完全可以獨(dú)立于數(shù)據(jù)庫使用,它們只是存儲數(shù)據(jù)的一種方便的方法。
DataTable類用于存儲(讀者可能對此感到不解)數(shù)據(jù)表。在繼續(xù)討論這個類之廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第18頁
前需要澄清一件事情:以DataTable對象存儲的表不一定要映射到數(shù)據(jù)庫中的表。DataTable可能包含表中數(shù)據(jù)的一個子集,該子集可能只包含數(shù)據(jù)庫表的部分行、部分列,可能是由數(shù)據(jù)庫中多個表組合而成的數(shù)據(jù),還可能是所有這些的組合,這取決于用于獲得數(shù)據(jù)的查詢語句。通常,DataTable與數(shù)據(jù)庫中的表匹配,但仍然要知道上面提到的事實(shí)。
圖3.2.5說明了DataTable與其他ADO.NET對象之間的關(guān)系。
圖2.5 DataTable 要獲得完全填充的DataTable,可使用數(shù)據(jù)適配器。有包含數(shù)據(jù)的DataTable后,就可以訪問行、列、約束和它包含的其他信息。這些信息可以通過命名恰切的屬性來訪問,包括Rows、Columns和Contraints等。
上面提到的3個屬性都返回一個集合類(DataRowCollection、DataColumnCollection和ConstaintCollection)對象。與其他集合類一樣,這些類可用于在它們包含的對象集合中導(dǎo)航,添加或刪除項(xiàng)等。稍后將介紹這些集合包含的類。
DataTable類另一個非常重要的方面是,如何處理數(shù)據(jù)修改。例如,如果刪除DataTable中的一行,數(shù)據(jù)適配器如何知道在數(shù)據(jù)庫中刪除對應(yīng)的數(shù)據(jù)?DataTable對象記錄了對原始數(shù)據(jù)的修改,而不只是數(shù)據(jù)的當(dāng)前狀態(tài)。從DataTable中刪除一行并不會真的刪除這些數(shù)據(jù),而只是數(shù)據(jù)被標(biāo)記為已刪除。在DataTable對象的消費(fèi)方(如應(yīng)用程序)看來,就像數(shù)據(jù)已被刪除,但實(shí)際上并沒有刪除。任何時候都可以使用GetChanges()方法獲得關(guān)于對DataTable對象所做的修改列表(以另一個DataTable對象的形式)??梢栽谶m當(dāng)時使用AcceptChanges()方法廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第19頁
接受已做的修改,從而覆蓋原來的數(shù)據(jù)。例如,可以在修改提交到數(shù)據(jù)庫后這樣做。也可以使用RejectChanges()撤銷所有的修改,如當(dāng)最終用戶單擊“取消”按鈕時。
DataTable對象也暴露了很多事件,在應(yīng)用程序中可以定制這些事件,如RowDeleted和ColumnChanged。使用這些事件可以保證應(yīng)用程序?qū)κ录M(jìn)行響應(yīng),還可以實(shí)現(xiàn)其他功能,例如,確保底層數(shù)據(jù)庫在數(shù)據(jù)發(fā)生修改時立即更新。(1)DataColumn。
DataColumn存儲了在數(shù)據(jù)表中定義列所需的所有信息。在DataTable中,Columns屬性包含一個DataColumnCollection,這是一個DataColumn對象集合。DataColumn還包含與DBMD匹配的屬性,包括ColumnName、Dataype、AllowDBNull和DefaultValue。它的屬性可能比使用的DBMS的屬性還要多,但如果使用過不同的DBMS,這一點(diǎn)將顯而易見。對于SQL Server,這并不是問題。(2)Constaint。
Constaint對象(在ConstaintCollection中,可通過DataTable.Constaints訪問)用于包含表的所有元數(shù)據(jù),這些數(shù)據(jù)不包含在DataColumn對象中。Constaint類作為更具體類的基類,這些具體類包括UniqueConstaint—用于確保給定列或列組合的值是唯一的(例如,這對于主鍵是必須的)和ForeingKeyConstaint—用于實(shí)現(xiàn)表之間的關(guān)系。(3)DataRow。
DataRow類用于存儲表中一行包含的數(shù)據(jù)。通過DataTable.Rows屬性可以訪問DataRow Collection對象,后者存儲了組成表數(shù)據(jù)的多個DataRow對象。一行數(shù)據(jù)中的各列可通過索引器來訪問,索引器讓你能夠通過列名、索引和版本(例如,如果行被修改)來訪問列。
行的當(dāng)前狀態(tài),即它是否被修改、刪除或以某種方式改變,可通過DataRowState屬性訪問。該屬性的值為DataRowState類型,這是一種包含所有可能行狀態(tài)的枚舉類型。各個DataRow對象也有與DataTable對應(yīng)的方法,用于接受、拒絕和獲得更改。例如,可以推斷出,調(diào)用DataTable.AcceptChanges()將級聯(lián)地對表的每行調(diào)用DataRow AcceptChanges()。6.DataRelation 廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第20頁
在處理多個DataTable對象時,通常需要表示(并實(shí)施)表數(shù)據(jù)之間的關(guān)系。這由DataRelation類來完成??蓪⒍鄠€DataRelation對象組合起來,構(gòu)成一個DataRelationCollection對象。
關(guān)系可以用DataRelation類的多個屬性來定義,包括ChildTable、ChildColumns、ChildKeyConstraint、ParentTable和ParentKeyConstraint等。這些屬性都是對相應(yīng)的對象的引用,如DataTable和DataColumn對象。關(guān)系名也被存儲在DataRelation.RelationName屬性中?,F(xiàn)在還不用太擔(dān)心DataRelation對象,因?yàn)樗鼈兎庋b了ADO.NET比較高級的方面,這在本書后面將介紹。7.DataSet 現(xiàn)在到了ADO.NET中最重要的類—DataSet。從某種程度上說,該類只是DataTable對象和DataRelation對象的集合(如圖2.6所示)。然而,DataSet的強(qiáng)大功能體現(xiàn)在與其他對象結(jié)合使用,包括用于Web應(yīng)用程序和Windows應(yīng)用程序的控件、Web服務(wù)和XML文檔。
DataSet類包含很多屬性和方法;其中很多與其組成部分的屬性和方法類似,例如,GetChanges()和RejectChanges()。還有一些重要的屬性,如Tables(以DataTableCollection類的形式包含DataSet中的表集合)、Relations(包含一個DataRelation Collection類,其中的Relation對象定義了表之間的關(guān)系)。數(shù)據(jù)表之間的關(guān)系及應(yīng)用于數(shù)據(jù)的約束使得對DataSet的操作很麻煩。例如,如果兩個表之間存在一對多關(guān)系,則添加一行到其中一個表中,可能要求另一個表中存在一行。而這行可能不存在(例如,如果兩行同時添加時),這時,為避免錯誤,添加這些行的順序?qū)⒑苤匾?;必須先添加位于關(guān)系“一”端的行。也可以將DataSet.Enforce Constraints屬性設(shè)置為false,這樣在執(zhí)行編輯操作時將忽略關(guān)系。(1)DataSet對象和XML之間的關(guān)系。
與ADO.NET的其他對象一樣,設(shè)計(jì)DataSet對象時也考慮了XML數(shù)據(jù)。使用DataSet.GetXml()方法,可將數(shù)據(jù)集轉(zhuǎn)換為XML文檔;還可以使用DataSet.GetXmlSchema()方法只提取數(shù)據(jù)集中的架構(gòu)(包括數(shù)據(jù)集包含的所有表廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第21頁
和其他對象的架構(gòu))作為XML文檔。還可使用序列化技術(shù)在DataSet和XML文檔之間進(jìn)行轉(zhuǎn)換,因?yàn)镈ataSet類實(shí)現(xiàn)了IxmlSeria-lizable接口。
DataSet對象與XML之間的關(guān)系以及使用序列化在這兩種表示格式之間進(jìn)行轉(zhuǎn)換,在.NET框架中運(yùn)用相當(dāng)廣泛。它提供了一種在應(yīng)用程序?qū)又g和通過Internet交換數(shù)據(jù)的很好方法。特別地,有了數(shù)據(jù)集的XML表示形式后,就可以在Web服務(wù)之間進(jìn)行交換DataSet對象。(2)類型化數(shù)據(jù)集(typed data set)。
DataSet對象的功能很強(qiáng)大,但它們并不是最容易使用或最合乎邏輯的。例如,要訪問表中的特定行,使用它就顯得很笨拙。必須使用DataSet.Tables集合獲得正確的表,用DataTable.Rows集合獲得正確的行,然后以對象引用的形式或通過DataColumn的方法提取列數(shù)據(jù)—這些都不容易。訪問特定列的代碼行可能如下所示:
int result =(int)myDataSet.Tables[“myTable”].Rows[5][ “IntegerColumn”];還有一種方法,那就是使用類型化數(shù)據(jù)集。類型化數(shù)據(jù)集是DataSet的子類,但它包含強(qiáng)類型屬性和方法,使得數(shù)據(jù)操作更容易。如果使用類型化數(shù)據(jù)集,上面的代碼就可以簡化為如下所示:
int result = myTypedDataSet.MyTable[5].IntegerColumn;雖然這并不影響代碼的功能,但輸入更容易(尤其是啟用了智能感知功能時),以后閱讀代碼時也更容易理解。
唯一的限制是,需要在設(shè)計(jì)時就知道數(shù)據(jù)集中將包含的數(shù)據(jù)的結(jié)構(gòu)。然而,因?yàn)閿?shù)據(jù)庫的結(jié)構(gòu)不大可能有很大的改變,因此這通常不成問題。
可以使用xsd.exe工具或通過Visual C#速成版界面自動創(chuàng)建類型化數(shù)據(jù)集。xsd.exe工具要求提供一個架構(gòu)(schema),這是以擴(kuò)展名為.xsd的XML架構(gòu)文件提供的。Visual C#速成版在創(chuàng)建類型化數(shù)據(jù)集時也要使用架構(gòu)信息,但它直接從數(shù)據(jù)庫獲取這些信息,這使得對數(shù)據(jù)集的結(jié)構(gòu)進(jìn)行操作更容易。(3)性能。
有些人認(rèn)為應(yīng)盡量避免使用數(shù)據(jù)集。這是因?yàn)樗鼈兪恰爸亓考墶睂ο?,帶來的開銷在高性能應(yīng)用程序中可能很大。另外,以數(shù)據(jù)集的形式通過Web傳輸數(shù)據(jù)可能意味著要傳輸大量的XML數(shù)據(jù)。
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第22頁
從某種程度上說,這些擔(dān)憂是正確的。如果性能很重要,可以設(shè)計(jì)自己的類,并直接使用數(shù)據(jù)閱讀器提供的數(shù)據(jù)進(jìn)行填充。然而,數(shù)據(jù)集(特別是類型化數(shù)據(jù)集)自有它們的用處。它們提供了很多特性,只需少量代碼就可以使用這些特性,且用于操作它們的代碼通常很簡單。例如,如果不沒有數(shù)據(jù)集,要表示數(shù)據(jù)庫的數(shù)據(jù),同時在類中記錄所有編輯,且這些編輯可以很容易地傳輸?shù)綌?shù)據(jù)庫,可能需要大量的代碼,且實(shí)現(xiàn)起來相當(dāng)困難。3.2.2 數(shù)據(jù)綁定
數(shù)據(jù)綁定是程序員只需做少量工作就可以用數(shù)據(jù)庫中的數(shù)據(jù)填充Windows或Web控件的一種技術(shù)。.NET框架讓程序員只需使用簡單的代碼就可以將數(shù)據(jù)源與控件關(guān)聯(lián)起來,實(shí)際上,可以通過GUI實(shí)現(xiàn)很多功能,而不需要編寫大量C#代碼。
數(shù)據(jù)綁定有兩點(diǎn)要求:數(shù)據(jù)源和要綁定數(shù)據(jù)的控件。數(shù)據(jù)源包括數(shù)據(jù)庫連接,但不僅限于此,也可以使用對象或來自Web服務(wù)的數(shù)據(jù)作為數(shù)據(jù)源。使用對象作為數(shù)據(jù)源是一種功能強(qiáng)大的方法,可以利用自定義的集合和自己設(shè)計(jì)的類,但這有點(diǎn)偏題了。本書大部分時候使用的數(shù)據(jù)源類型都是數(shù)據(jù)庫數(shù)據(jù)源,它有Web控件形式,也有Windows控件形式。
生成數(shù)據(jù)庫數(shù)據(jù)源時,通常不僅需要配置連接。數(shù)據(jù)庫數(shù)據(jù)源包括關(guān)于要訪問數(shù)據(jù)庫中哪些對象的信息。實(shí)際上,在幕后通常將生成類型化數(shù)據(jù)集。此外,幕后還將用到前面介紹的ADO.NET對象(連接、命令、數(shù)據(jù)閱讀器和數(shù)據(jù)適配器協(xié)同工作來創(chuàng)建數(shù)據(jù)源)。然而,程序員不必太擔(dān)心這一點(diǎn),而只需創(chuàng)建一個數(shù)據(jù)源并將它綁定到控件,如圖2.7所示。
圖2.7 數(shù)據(jù)綁定
要綁定到控件,需要將控件的屬性設(shè)置為數(shù)據(jù)源的元素(從而間接地設(shè)置為數(shù)據(jù)庫的元素)。對于簡單控件,如標(biāo)簽或文本框,只要將控件的Text屬性設(shè)置為數(shù)廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第23頁
據(jù)庫中類型為文本的列。還可以將數(shù)據(jù)綁定到列表控件(包括下拉列表),這樣列表中的每項(xiàng)都綁定到數(shù)據(jù)庫表中的一行。更高級的控件(如GridView)可用于查看整個表的內(nèi)容。另外,也可以提供自定義的控件和自定義的數(shù)據(jù)綁定架構(gòu),以便使用和編輯數(shù)據(jù)庫中的數(shù)據(jù)。3.3 SQL語言
通用的SQL語言,最早于1974年提出,當(dāng)時稱為SEQUEL語言,后來被國際標(biāo)準(zhǔn)化組織ISO采納為國際標(biāo)準(zhǔn),現(xiàn)在大多數(shù)數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言。
SQL是一種處理數(shù)據(jù)的高級語言,是非過程化語言,在查詢數(shù)據(jù)時,只需指出“要什么”,而不需指出如何實(shí)現(xiàn)的過程。SQL語言包括數(shù)據(jù)定義、查詢、操縱和控制功能。SQL語言的語法格式簡單,使用方便靈活。3.3.1表定義語句
廣義上講,表定義語句包括數(shù)據(jù)表的創(chuàng)建語句(Create語句)、數(shù)據(jù)表修改語句(Alter語句)和數(shù)據(jù)表刪除語句(Drop語句)。3.3.2視圖定義語句
視圖是對數(shù)據(jù)表中數(shù)據(jù)的一種顯示方式,用一個數(shù)據(jù)表可以有多個視圖,以根據(jù)用戶的不同需求,將數(shù)據(jù)表中用戶所關(guān)心的數(shù)據(jù)提取出來,顯示給用戶,忽略數(shù)據(jù)表中其他數(shù)據(jù)。視圖也可以理解為一種預(yù)先定義好的查詢。實(shí)際上,查詢的優(yōu)點(diǎn)在于可在多個數(shù)據(jù)表之間按指定的條件對數(shù)據(jù)進(jìn)行篩選顯示。3.3.3索引定義語句
索引是加速數(shù)據(jù)查詢的重要手段,索引一旦被建立起來,就成為了數(shù)據(jù)庫的一部份,并占用數(shù)據(jù)庫的存儲空間。使用索引的突出優(yōu)點(diǎn)就是加快數(shù)據(jù)的查詢速度,但是,對于數(shù)據(jù)的插入、刪除和修改操作來說,索引卻降低了執(zhí)行效率。3.3.4數(shù)據(jù)操縱語句
數(shù)據(jù)操縱包括數(shù)據(jù)的插入、更新和刪除等操作,數(shù)據(jù)操縱語句是應(yīng)用程序編制過廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第24頁
程中使用較多的語句之一。3.3.5INSERT語句
INSERT語句所實(shí)現(xiàn)的功能是向數(shù)據(jù)庫中插入新的數(shù)據(jù),該語句的一般語法如下: Insert into tableName [(fieldList)] values(valueList)3.3.6UPDATE語句
UPDATE語句用于更新數(shù)據(jù)表中的數(shù)據(jù)。所謂的更新是指數(shù)據(jù)已經(jīng)存在于數(shù)據(jù)表,但需要對其中的數(shù)據(jù)進(jìn)行修改,此時可以使用UPDATE語句實(shí)現(xiàn)。3.3.7DELETE語句
如果某些數(shù)據(jù)需要從數(shù)據(jù)表中刪除,則可以使用DELETE語句進(jìn)行,該語句的基本語法如下:
Delete from tableName [Where select_conditon] 3.3.8查詢語句
查詢語句是SQL語言中使用最為頻繁的語句,查詢可以根據(jù)需要在數(shù)據(jù)表內(nèi)或者多個數(shù)據(jù)表之間進(jìn)行數(shù)據(jù)篩選。熟練掌握數(shù)據(jù)查詢語句,才能編寫出高質(zhì)量的數(shù)據(jù)庫管理軟件。
查詢是SQL語言最重要最核心的功能之一。在SQL語言中查詢是通過Select語句實(shí)現(xiàn)的,最簡單的SQL語句結(jié)構(gòu)如下: Select字段列表 From表名 3.3.9條件查詢
Select語句除了可以對字段進(jìn)行篩選以外,還可以對記錄進(jìn)行篩選和操作,此時,要用到Where字句。Where子句在Select語句中用于指定查詢條件,其結(jié)構(gòu)一般廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第25頁
如下:
Select 字段列表 from 表名 Where 條件表達(dá)式 3.3.10查詢排序
SQL語句還可以對查詢的結(jié)果進(jìn)行排序,此時,要用到Order by子句。另外,還要用到兩個負(fù)責(zé)排序方式的關(guān)鍵詞ASC和DESC,ASC指明按升序排列查詢結(jié)果;DESC則指明按降序進(jìn)行排列。排序查詢的結(jié)構(gòu)一般如下: Select fieldlist From tableName [Where select_conditon] Order by field1 [ASC|DESC],field2 [ASC|DESC] 3.3.11統(tǒng)計(jì)查詢
SQL語言對數(shù)值型的字段具有統(tǒng)計(jì)的功能,該功能涉及到5個統(tǒng)計(jì)函數(shù),介紹如下:Count(*):統(tǒng)計(jì)符合查詢條件的記錄的個數(shù)。AVG(field):計(jì)算某個數(shù)值型字段的平均值。Max(field):返回某個數(shù)值型字段的最大值。Min(field):返回某個數(shù)值型字段的最小值。Sum(field):計(jì)算某個數(shù)值型字段所有記錄的和。3.3.12Group by子句
Group by子句的作用是將查詢結(jié)果中的數(shù)據(jù)按指定字段分組,Group by子句常與統(tǒng)計(jì)函數(shù)一起使用,以對查詢數(shù)據(jù)實(shí)現(xiàn)分組統(tǒng)計(jì)。Group by子句的一般語法如下:
Group by 字段1,字段2 3.3.13Distinct關(guān)鍵詞
在數(shù)據(jù)表的某個字段中可能會出現(xiàn)多個重復(fù)的值,使用Distinct關(guān)鍵字可以避免查詢結(jié)果中出現(xiàn)重復(fù)的記錄。含Distinct關(guān)鍵詞的SQL語句結(jié)構(gòu)一般如下: Select Distinct 字段名列表 From 表名 Where 條件表達(dá)式
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第26頁
3.3.14Top關(guān)鍵詞
Top關(guān)鍵詞的作用是限制查詢結(jié)果的返回?cái)?shù)目。該關(guān)鍵詞常被用來限制顯示查詢結(jié)果中前多少個或者前百分之多少的記錄。因此,Top關(guān)鍵詞經(jīng)常和Order by子句一起出現(xiàn)。Top關(guān)鍵詞的基本語法: Top n Top n Percent 3.3.15多表查詢
SQL語言還可以實(shí)現(xiàn)在同一個數(shù)據(jù)庫中的不同數(shù)據(jù)表之間進(jìn)行查詢。3.3.16多重查詢
SQL語句允許嵌套使用,這種查詢一般是把其中一個查詢的結(jié)果作為另一個查詢語句的查詢條件。多重查詢中一般會出現(xiàn)In、Not In、All、Some或者Any等關(guān)鍵詞。In和Not In用來指定某值在和不在某區(qū)間或者集合;All表示集合中的全部,而Some和Any則表示集合中的一部分。3.3.17EXISTS關(guān)鍵詞
EXISTS(NOT EXISTS)關(guān)鍵詞是復(fù)合查詢語句中的常用關(guān)鍵詞,其作用是判斷復(fù)合查詢語句的內(nèi)層查詢是否存在查詢結(jié)果。使用EXISTS關(guān)鍵詞時內(nèi)層查詢只是起到一個判斷是否存在查詢結(jié)果的作用,其篩選出的數(shù)據(jù)對整個查詢沒有任何作用。
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第27頁
4系統(tǒng)需求分析
4.1系統(tǒng)流程圖如下
員工管理準(zhǔn)備員工信息管理登陸社會關(guān)系學(xué)習(xí)經(jīng)歷維護(hù)數(shù)據(jù)備份判定數(shù)據(jù)清空系統(tǒng)主界面部門設(shè)置設(shè)置清空員工管理系統(tǒng)設(shè)置崗位調(diào)整工資考勤信息管理下載考勤信息考評管理稅率管理獎懲管理工資調(diào)整管理工資項(xiàng)目管理工資匯總統(tǒng)計(jì)子模塊員工管理功能圖如下:
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第28頁
部門設(shè)置用戶管理崗位調(diào)整員工管理學(xué)習(xí)經(jīng)歷維護(hù)員工基本信息社會關(guān)系用戶管理:主要用于管理不同職能的員工信息,可以實(shí)現(xiàn)創(chuàng)建,修改,刪除員工職能信息的功能。
系統(tǒng)運(yùn)行界面圖如下:
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)圖:
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第29頁
員工基本信息:企業(yè)人事檔案管理信息化模塊;具有快速、無限量員工數(shù)據(jù)輸入及保存功能;由特定權(quán)限的管理員統(tǒng)一管理員工檔案。對員工從進(jìn)入公司開始直至離職的整個過程進(jìn)行人面管理,檔案信息包括,職員編號,職員姓名,出生年月,職工學(xué)歷,定時檢查更新員工信息,具有權(quán)限的使用者可以登記、查詢、修改、統(tǒng)計(jì)部門信息、崗位設(shè)置情況。圖如下:
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第30頁
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)如下:
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第31頁 社會關(guān)系:主要用于建立和保存職員的社會關(guān)系,以備侯用。運(yùn)行圖如下:
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第32頁
對應(yīng)的數(shù)據(jù)庫系統(tǒng)設(shè)計(jì):
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第33頁
學(xué)習(xí)經(jīng)歷維護(hù):主要記錄員工各個階段不同部門學(xué)習(xí)的情況。系統(tǒng)運(yùn)行圖
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì):
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第34頁
部門設(shè)置:可以添加、修改、刪除部門。系統(tǒng)運(yùn)行圖:
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì):
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第35頁
崗位調(diào)整:主要用于讓公司找到員工的強(qiáng)項(xiàng)并讓員工發(fā)揮最大作用。
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì):
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第36頁
工資考勤信息管理功能圖如下:
下載考勤信息稅率管理工資匯總統(tǒng)計(jì)考評管理工資考勤信息管理工資項(xiàng)目管理獎懲管理工資調(diào)整管理下載考勤信息:用于記錄員工的考勤情況。系統(tǒng)運(yùn)行圖如下:
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第37頁
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)圖:
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第38頁
考評管理:用于實(shí)時調(diào)查員工的工作情況,調(diào)整好他們最佳工作狀態(tài),可以促進(jìn)良性競爭和增強(qiáng)企業(yè)的活力。系統(tǒng)運(yùn)行圖:
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第39頁
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)圖如下:
稅率管理:主要用于計(jì)算稅率,可以升級工資模塊,跟時代同步。系統(tǒng)運(yùn)行圖如下:
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第40頁
相應(yīng)的數(shù)據(jù)庫設(shè)計(jì)如圖:
獎懲管理:賞罰分明,調(diào)動企業(yè)工作氣氛。系統(tǒng)運(yùn)行圖如下:
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第41頁
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)圖如下:
工資調(diào)整管理:工資的合理調(diào)整可以有效調(diào)動員工積極性。系統(tǒng)運(yùn)行圖如下:
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第42頁
對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)圖如下:
工資項(xiàng)目管理:用于基本工資和參數(shù)的記錄和調(diào)整。系統(tǒng)運(yùn)行圖如下:
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第43頁
對應(yīng)數(shù)據(jù)庫設(shè)計(jì)圖如下:
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第44頁
工資匯總統(tǒng)計(jì):用于員工工資的報(bào)表顯示。如圖:
系統(tǒng)設(shè)置圖如下:
數(shù)據(jù)備份系統(tǒng)設(shè)置數(shù)據(jù)清空設(shè)置清空 系統(tǒng)設(shè)置:主要用于數(shù)據(jù)庫的備份和維護(hù)。
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第45頁
運(yùn)行圖如下: 連接到數(shù)據(jù)庫:
進(jìn)行數(shù)據(jù)庫備份或者恢復(fù):
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第46頁
廣東工業(yè)大學(xué)
企業(yè)人事管理系統(tǒng)__朱競
2009-11-30
第47頁
第五篇:人事管理系統(tǒng)設(shè)計(jì)
企 業(yè) 人 事 管 理 系 統(tǒng) 課 程 設(shè) 計(jì)
實(shí)驗(yàn)小組成員:張健,黃仁獎,莊寧曉,徐凱,宋永捷
計(jì)算機(jī)051(行)
《企業(yè)人事管理系統(tǒng)》可行性研究報(bào)告
編寫目的
從人事管理的角度來講,人們已經(jīng)產(chǎn)生一種共識,那就是“人事管理是企業(yè)最珍貴的資產(chǎn)”?,F(xiàn)在,人事管理不僅是企業(yè)最珍貴的資產(chǎn),而且應(yīng)該是唯一“動態(tài)的資產(chǎn)”。一個企業(yè),無論是土地,還是設(shè)備,還是流動資金,他們的實(shí)質(zhì)都是靜態(tài)資產(chǎn)。人們認(rèn)為財(cái)務(wù)管理首要的是講“管好錢”。其實(shí)錢是屬于靜態(tài)資產(chǎn),錢是不會跑的,它又沒有長腳。如果說錢會跑,是因?yàn)橛腥巳铀?,所以不是錢的問題,仍然是人的問題。錢是不能主動創(chuàng)造價值的,即使是被投資于很好的項(xiàng)目,也是人做的決定,也是由人在那里管理。所以,唯有人的行為才是動態(tài)的;只有人的行為才能創(chuàng)造價值。開發(fā)這樣一套管理軟件成為很有必要的事情。
人事管理系統(tǒng)是一個公司不可缺少的部分,它的內(nèi)容對于公司的決策者和管理者來說都至關(guān)重要, 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用
項(xiàng)目背景
一套比較系統(tǒng)的人力資源管理理念,并建立了一整套比較規(guī)范的人力資源管理方法。在積極建立企業(yè)現(xiàn)代企業(yè)管理機(jī)制的今天,僅僅靠原始的手工管理或簡單的單機(jī)管理,人力資源部門面對大量的信息,無法有效率地將其中的重要部分提取出來,并做出相應(yīng)的判斷和處理。公司管理者的決策只能依據(jù)報(bào)表數(shù)據(jù),在浪費(fèi)大量人力、物力的同時無法做到實(shí)時監(jiān)控,難以保證數(shù)據(jù)的準(zhǔn)確性和及時性。因此,先進(jìn)的管理思想在企業(yè)中實(shí)現(xiàn)就成為了一個可望而不可及的目標(biāo)。公司集團(tuán)非常急需一套既有先進(jìn)管理思想又適合國內(nèi)大企業(yè)的人力資源管理信息系統(tǒng),作為實(shí)現(xiàn)目標(biāo)和提高現(xiàn)有水平的一種重要手段!
定義
人事管理是企業(yè)信息管理的重要部分,面對大量的人事工資信息,財(cái)務(wù)部門采用人力處理將浪費(fèi)大量的時間、人力和物力,且數(shù)據(jù)的準(zhǔn)確性低。因此,開發(fā)一個界面友好,易于操作的人事工資管理軟件進(jìn)行自動化處理變得十分重要,這正是本系統(tǒng)開發(fā)的目的和意義
隨著時代的進(jìn)步,社會生產(chǎn)力高速發(fā)展,新技術(shù)層出不窮信息量急劇膨脹,整個人類社會已成為信息化的社會人們對信息和數(shù)據(jù)的利用和處理已經(jīng)進(jìn)入自動化、網(wǎng)絡(luò)化和社會化的階段。如在查找情報(bào)資料、處理銀行帳目、倉庫管理、科研生產(chǎn)等方面,無不需要利用大量的信息資源。因此,如何有效地進(jìn)行數(shù)據(jù)信息的管理和利用,已經(jīng)成為人們普遍關(guān)注的課題。
信息在不同的領(lǐng)域里有著不同的概念,在管理科學(xué)領(lǐng)域中,通常認(rèn)為信息是經(jīng)過加工處理后的一種數(shù)據(jù)形式,是一種有次序的符號排列,它是系統(tǒng)傳輸和處理的對象。處在信息時代的今天,信息的作用越來越為人們所重視。制定工作計(jì)劃,研究投資策略,都離不開對信息的充分利用。管理信息系統(tǒng)(Management Information System,縮寫MIS)是一種“人機(jī)系統(tǒng)”,它以特定的模式支持一個組織內(nèi)各級組織機(jī)構(gòu)之間的通訊,對信息資源進(jìn)行綜合開發(fā),管理和利用,實(shí)現(xiàn)對該組織的有效管理。它通過對數(shù)據(jù)的加工處理,及時為管理與決策分析提供信息。其特點(diǎn)有:
數(shù)據(jù)全部存儲于計(jì)算機(jī)系統(tǒng)中;用戶使用簡單、操作方便、查詢速度快; 有極強(qiáng)的人-機(jī)對話功能;能直接從計(jì)算機(jī)系統(tǒng)中提供決策所需的參考信息。
參考資料 網(wǎng)上一些類似比較完整的系統(tǒng),人事管理系統(tǒng),學(xué)籍管理系統(tǒng),企業(yè)一些其他的系統(tǒng)的設(shè)計(jì)理念,好的報(bào)告分析。
可行性分析
要求 一般而言,良好的辦公管理,有助于為企業(yè)達(dá)到以下的目標(biāo):
一、協(xié)助組織達(dá)成發(fā)展目標(biāo)與遠(yuǎn)景。
二、有效地運(yùn)用人員的能力與技術(shù)專才。
三、促使組織成員的工作士氣高昂且激發(fā)潛能。
四、滿足組織成員的自我實(shí)現(xiàn)感與增加成員的工作成就感。
五、發(fā)起且落實(shí)組織變革。
六、提高組織成員的工作生活品質(zhì)。
七、協(xié)助企業(yè)負(fù)責(zé)人做出正確決策。
目標(biāo) 可行性研究的目標(biāo)是用最小的代價在盡可能的時間內(nèi)確定問題是否能夠解決。
可行性研究 可行性分析也稱為可行性研究,是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟(jì)、社會的方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功。決定可行性的主要因素
經(jīng)濟(jì)上可行性:
近幾年,計(jì)算機(jī)技術(shù)的發(fā)展和計(jì)算機(jī)辦公自動化的普及和應(yīng)用,計(jì)算機(jī)的應(yīng)用也有了較大的提高。計(jì)算機(jī)也都成為高校管理工作中的重要設(shè)備,每個單位、每個部門都有不同程度的計(jì)算機(jī)應(yīng)用。在硬件方面,無需單獨(dú)購買計(jì)算機(jī),只需利用目前已有的奔騰Ⅲ、奔騰Ⅳ的計(jì)算機(jī)即可,并附有打印機(jī)等附件。所以從硬件方面上完全可行。根據(jù)用戶的要求,分析其特點(diǎn),在經(jīng)濟(jì)上本項(xiàng)目是可行的,采集,編輯,發(fā)布,人員不需要專業(yè)的編程知識就可以快速高效地發(fā)布題庫信息。這樣加快了信息發(fā)布速度,減少了人力的開銷,縮短了從采集到發(fā)布的時間周期,從而提高了服務(wù)的質(zhì)量,而且由于管理周期縮短和人力開銷的減少,可以在高校信息化中獲得更多的好處。
在軟件上,由于人事管理工作不同于其它行業(yè)的管理工作,管理軟件在市場上沒有專業(yè)的管理軟件;找軟件開發(fā)公司單獨(dú)開發(fā)軟件所需費(fèi)用又太高,至少需要幾千元,并且實(shí)用性不強(qiáng),日后的維護(hù)升級等問題也不易解決。而由我們自己研究開發(fā)一套適合實(shí)際需要的管理軟件,即可節(jié)資金,也便于日常維護(hù)、備份和系統(tǒng)升級。
人事管理信息系統(tǒng)并不需要特別高的配置,編寫管理信息系統(tǒng)的軟件在市面上也十分便宜。因此,我們認(rèn)為它的制作在經(jīng)濟(jì)上是可行的。我國加入WTO后,面對高度信息化、全球化和管理現(xiàn)代化的國際競爭,中國如何應(yīng)用信息技術(shù)促進(jìn)管理創(chuàng)新,以管理創(chuàng)新促進(jìn)實(shí)施信息現(xiàn)代化的戰(zhàn)略,深化改革和實(shí)現(xiàn)管理水平跨越式發(fā)展,提高服務(wù)水平和服務(wù)質(zhì)量,增強(qiáng)的競爭力,已成為一個不容回避、亟待研究解決的重大課題。
技術(shù)上可行性:
本系統(tǒng)使用的是ASP.NET+SQL SERVER實(shí)現(xiàn)的??梢宰杂墒褂萌耸鹿べY信息分類,自由賦予用戶權(quán)限,根據(jù)需要靈活使用模版。可以提供給各種場合的信息,人事工資。
根據(jù)用戶的要求,分析其特點(diǎn),在經(jīng)濟(jì)上本項(xiàng)目是可行的,采集,編輯,發(fā)布,人員不需要專業(yè)的編程知識就可以快速高效地發(fā)布高校辦公信息。這樣加快了信息發(fā)布速度,減少了人力的開銷,縮短了從采集到發(fā)布的時間周期,從而提高了服務(wù)的質(zhì)量,而且由于管理周期縮短和人力開銷的減少,可以在高校信息化中獲得更多的好處。
通過SQL SERVER建立辦公自動化數(shù)據(jù)庫SQL SERVER 是一種高效的關(guān)系數(shù)據(jù)庫系統(tǒng),它與Windows NT/2000及Windows 9x等操作系統(tǒng)緊密集成。這種安排使SQL SERVER能充分利用操作系統(tǒng)所提供的特性。對于今天復(fù)雜的客戶/服務(wù)器系統(tǒng)來說,SQL SERVER是一個很好的選擇。可以打開SQL SERVER(1)建立數(shù)據(jù)庫。(2)建立表。建立的數(shù)據(jù)庫 asp.net 目前一些網(wǎng)站主要采取三種形式。
1:手工更新:一些小網(wǎng)站還停留在完全使用人工制作新頁面,更新目前的信息。這種方法不但效率低,而且容易出現(xiàn)錯誤,目前這種方法基本使用在一些小站點(diǎn)和個人主頁,已經(jīng)不是主流。由于使用全部靜態(tài)頁面,可以有很高的負(fù)載。
2:動態(tài)網(wǎng)頁技術(shù):隨著ASP.NET, PHP,CGI等動態(tài)網(wǎng)頁技術(shù)的發(fā)展,用這些技術(shù)制作一個基于數(shù)據(jù)庫的動態(tài)人事工資系統(tǒng)已經(jīng)是很方便的。這種技術(shù)構(gòu)件的網(wǎng)站,大大提高了信息更新的效率,信息發(fā)布人員只需要進(jìn)行簡單的文字圖片排版,就可以發(fā)布信息。簡單易用。但是,這種技術(shù)的信息發(fā)布系統(tǒng)存在另外一個缺點(diǎn),當(dāng)用戶訪問量大的時候,動態(tài)頁面頻繁操作數(shù)據(jù)庫,會大量消耗系統(tǒng)資源,造成訪問緩慢或者根本無法訪問。
3:動態(tài),靜態(tài)發(fā)布:這種技術(shù)與上面的動態(tài)網(wǎng)頁技術(shù)沒有本質(zhì)上的區(qū)別,只是將靜態(tài)頁面和動態(tài)技術(shù)的優(yōu)點(diǎn)結(jié)合起來!使用動態(tài)技術(shù)采集信息,人事工資人員也只需要進(jìn)行簡單的文字和圖片排版,制作一個模版,就可以使用人事工資系統(tǒng)發(fā)布人事工資信息了。最后由系統(tǒng)根據(jù)模版和人事工資信息的具體內(nèi)容和網(wǎng)站結(jié)構(gòu)發(fā)布靜態(tài)頁面。這樣最終發(fā)布的為靜態(tài)頁面,可以承受很大的訪問量,也可以提高人事工資信息的發(fā)布效率。
本次畢業(yè)設(shè)計(jì)就是使用第三種技術(shù)構(gòu)造人事工資系統(tǒng)的。采用這種方式構(gòu)造系統(tǒng),有著易用,方便,快速,高效的優(yōu)點(diǎn),是一種廣泛采用的技術(shù)。
運(yùn)行上可行性:
現(xiàn)代計(jì)算機(jī)軟硬件的發(fā)展使得本系統(tǒng)具有良好的操作界面,簡單直接的操作界面,具有較強(qiáng)的人機(jī)對話能力,支持多種漢字輸入方式,其適應(yīng)性強(qiáng),顯示內(nèi)容簡單明了,使操作者不必具有較高高的計(jì)算機(jī)專業(yè)知識,也不必進(jìn)行專門培訓(xùn),稍一接觸就可以上手進(jìn)行所有操作。政治可行性:
本系統(tǒng)純?yōu)樗饺嗽O(shè)計(jì),在開發(fā)過程中沒有涉及合同、責(zé)任等與法律相抵觸的方面。因此,本系統(tǒng)在法律上是可行的。
人力資源的設(shè)計(jì)分析
使用ASP.NET作為系統(tǒng)開發(fā)的開發(fā)環(huán)境,它作為一種現(xiàn)代的編程語言,提供完善的指令控制語句、類與對象的支持及豐富的數(shù)據(jù)類型,給開發(fā)高性能系統(tǒng)提供的保障為開發(fā)滿足客戶要求的系統(tǒng),保證了代碼的模塊化要求,而代碼模塊化的提高,非常有利于以后對新系統(tǒng)的擴(kuò)展與修改。
綜上所述,本系統(tǒng)的設(shè)計(jì)與開發(fā)在技術(shù)上和硬件設(shè)備上的條件都是滿足的,因此,它在技術(shù)上是可行的。
經(jīng)濟(jì)上可行性:
現(xiàn)在,計(jì)算機(jī)的價格已經(jīng)十分低廉,性能卻有了長足的進(jìn)步。而本系統(tǒng)的開發(fā),為工作效率帶來了一個質(zhì)的飛躍,為此主要表現(xiàn)有以下幾個方面: 第一,本系統(tǒng)的運(yùn)行可以代替人工進(jìn)行許多繁雜的勞動; 第二,本系統(tǒng)的運(yùn)行可以節(jié)省許多資源; 第三,本系統(tǒng)的運(yùn)行可以大大的提高的工作效率; 第四,本系統(tǒng)可以使敏感文檔更加安全,等等。所以,本系統(tǒng)在經(jīng)濟(jì)上是可行的。
1.2 相關(guān)技術(shù)概述 1.2.1 軟件工程
軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。
(1)它采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護(hù)軟件;
(2)它將管理技術(shù)與當(dāng)前經(jīng)過時間考驗(yàn)的而證明是正確的技術(shù)方法結(jié)合起來;(3)它強(qiáng)調(diào)使用生存周期方法學(xué)和結(jié)構(gòu)分析和結(jié)構(gòu)技術(shù);
(4)經(jīng)過人們長期的努力和探索,圍繞著實(shí)現(xiàn)軟件優(yōu)質(zhì)高產(chǎn)這個目標(biāo),從技術(shù)到管理兩個方面做了大量的努力,逐漸形成了“軟件工程學(xué)”這一新的學(xué)科。
3.對現(xiàn)有系統(tǒng)的分析
3.1處理流程和數(shù)據(jù)流程
系統(tǒng)整體模塊結(jié)構(gòu)圖
本系統(tǒng)由五大模塊組成,即系統(tǒng),員工基本信息,員工考勤信息,員工調(diào)動信息,幫助。如下圖:
4.2系統(tǒng)流程圖
功能模塊 人事信息錄入,編輯,修改,查詢,打印
把員工信息記錄進(jìn)數(shù)據(jù)庫,可以隨時查看,起到檔案的作用,登記了人事信息,便于管理。該系統(tǒng)按照人事勞資管理人員的書寫習(xí)慣,可對員工的編號、員工的姓名、性別、所在部門、職位名稱、最高學(xué)歷、等基本信息進(jìn)行記錄,為了方便起見,還增加了備注的功能,可以對員工進(jìn)行評語及特點(diǎn)的描述。信息錄入后最終自動生成詳細(xì)的易于操作的人事檔案表,可以隨時的記錄了解本公司的員工信息,一目了然。本系統(tǒng)支持任何一種輸入方法。工資管理錄入,編輯,修改,查詢,計(jì)算,統(tǒng)計(jì)
工資信息主要包括員工的底薪、補(bǔ)貼、獎金、加班費(fèi)、房貼、養(yǎng)老金、等項(xiàng)目,另外,系統(tǒng)會自動統(tǒng)計(jì)該員工的工資的總工資等信息。3 各種信息的查詢統(tǒng)計(jì)
查詢可以提高了工作效率,輸入字符即可獲得符合條件的信息,統(tǒng)計(jì)可以從雜亂的數(shù)據(jù)中,分析出有效的數(shù)據(jù)。系統(tǒng)數(shù)據(jù)的安全保密,設(shè)定系統(tǒng)用戶
系統(tǒng)為區(qū)分了身份,因此由用戶和密碼,級別構(gòu)成,這樣系統(tǒng)在系統(tǒng)登陸界面進(jìn)行身份驗(yàn)證,將輸入的信息和用戶表進(jìn)行比較,讓符合身份的用戶通過驗(yàn)證。
數(shù)據(jù)庫設(shè)計(jì)
SQL SERVER簡單介紹 數(shù)據(jù)庫的概念 數(shù)據(jù)庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進(jìn)行操作的工具。數(shù)據(jù)庫的作用在于組織和表達(dá)信息,簡而言之,數(shù)據(jù)庫就是信息的集合。計(jì)算機(jī)的數(shù)據(jù)庫可以分為兩類:非關(guān)系數(shù)據(jù)庫(flat-file)和關(guān)系數(shù)據(jù)庫(relational)。關(guān)系數(shù)據(jù)庫中包含了多個數(shù)據(jù)表的信息,數(shù)據(jù)庫含有各個不同部分的術(shù)語,象記錄、域等。關(guān)系數(shù)據(jù)庫產(chǎn)品是怎么發(fā)展起來的呢? 對關(guān)系模型的支持
第一階段(70年代)的RDBMS僅支持關(guān)系數(shù)據(jù)結(jié)構(gòu)和基本的關(guān)系操作(選擇、投影、連接)。例如:DBASE之流。
第二階段(80年代),對關(guān)系操作的支持已經(jīng)比較完善,但是對數(shù)據(jù)完整性的支持仍然較差。此時,SQL語言已經(jīng)成為
關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn),各家對SQL標(biāo)準(zhǔn)的支持還都是不存的(幾乎全不是超水平發(fā)揮)。
第三階段(90年代)的產(chǎn)品,加強(qiáng)了數(shù)據(jù)完成性和安全性的性能。完整性的控制在核心層實(shí)現(xiàn),克服了在工具曾的完
整性可能存在“旁路”的弊病。
SQL SERVER是關(guān)系型數(shù)據(jù)庫系統(tǒng),用戶可利用許多語言編寫訪問SQL SERVER 數(shù)據(jù)庫的程序,對于小型應(yīng)用系統(tǒng)是非常理想的。除了支持標(biāo)準(zhǔn)的ANSI SQL語句,從而能獲得相當(dāng)好的性能。它可以在Windows NT系統(tǒng)上或者在Windows 95/98系統(tǒng)上運(yùn)行。
SQL SERVER 的執(zhí)行性能非常高,運(yùn)行速度非???,并非常容易使用,是一個非常棒的數(shù)據(jù)庫。1.2.3 軟件開發(fā)工具ASP.NET 作為Microsoft的最新建立動態(tài)Web網(wǎng)站的工具,ASP.NET相對于ASP和JSP在改變原始的Web編程方式方面有了長足的長進(jìn)。它的代碼與頁面分離技術(shù)(CodeBehind)以及完善的Web服務(wù)器控件為程序員提供了一個更加符合傳統(tǒng)編程的Web服務(wù)器端開發(fā)方式。一:名字空間Name Space 要使用ASP.NET的數(shù)據(jù)庫功能,不可能離開名字空間NameSpace的使用。什么是名字空間,說理論可以說半天,我們沒必要了解,簡單一點(diǎn),名字控件就像Delphi中的控件,你必須將它們放入你的Form才能使用他們,同樣,如果你要使用ASP.NET的數(shù)據(jù)庫功能,你就必須先引用相應(yīng)的名字空間。ASP.NET中關(guān)于數(shù)據(jù)庫的名字空間有這些:
ADO+,是ADO的下一代,就像ASP.NET是ASP的下一代,相對于ADO,ADO+有以下特點(diǎn): 一)支持XML; 二)更好的性能; 三)方便的編程接口;
名字空間的具體使用如下:
<%@ Import NameSpace=”名字空間”%>
舉例:
<%@ Import NameSpace=”System.Data”%>
應(yīng)該注意一點(diǎn),以上代碼必須在頁面頂端。
二:基本概念
在使用ASP.NET以前,還必須了解一些基本概念: ADOConnection:相當(dāng)于ASP中的數(shù)據(jù)庫Connection; ADOCommand:相當(dāng)于ASP中的數(shù)據(jù)庫Command; DataView:相當(dāng)于ASP的ADO記錄集RecordSet; DataSet:多個數(shù)據(jù)表的集合;
以上概念實(shí)在是比較抽象,如果現(xiàn)在不理解,不要緊,現(xiàn)照著使用,以后慢慢就會理解。
三:數(shù)據(jù)庫基本使用樣板
<%@ Import NameSpace=“System.Data”%> <%@ Import NameSpace=“System.Data.SQL”%>