




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 - - 1 畢業(yè)設(shè)計(jì)畢業(yè)設(shè)計(jì)( (論文論文) ) 題 目 員工工資管理系統(tǒng)員工工資管理系統(tǒng) 2 目錄 第第 1 章章 緒論緒論.5 1.1 研究課題的背景.5 1.2 開發(fā)工具簡(jiǎn)介.6 1.3 數(shù)據(jù)庫(kù)管理系統(tǒng).6 第第 2 章章 員工工資管理系統(tǒng)分析與設(shè)計(jì)員工工資管理系統(tǒng)分析與設(shè)計(jì).7 2.1 應(yīng)用需求分析.7 2.2 系統(tǒng)功能模塊劃分.8 第第 3 章章 數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì)數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì).9 3.1 數(shù)據(jù)庫(kù)中表的建立和設(shè)計(jì).9 3.2 數(shù)據(jù)庫(kù)中各個(gè)表的觸發(fā)器的建立.12 第第 4 章章 應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì).15 4.1 歡迎界面.15 4.2 登錄模塊設(shè)計(jì).16 4.2.1 身份
2、驗(yàn)證.16 4.3 主窗體設(shè)計(jì).18 4.4 信息錄入管理窗體設(shè)計(jì).19 4.4.1 錄入模塊設(shè)計(jì).19 4.5 信息查詢管理窗體設(shè)計(jì).21 4.5.1 查詢模塊設(shè)計(jì).21 4.6 信息修改模塊.23 4.6.1 修改模塊設(shè)計(jì).24 4.7 數(shù)據(jù)導(dǎo)出模塊設(shè)計(jì).25 第第 5 章章 系統(tǒng)測(cè)試系統(tǒng)測(cè)試.32 5.1 測(cè)試目的.32 5.2 測(cè)試方法.32 5.3 測(cè)試結(jié)論.33 第第 6 章章 結(jié)束語(yǔ)結(jié)束語(yǔ).34 致致 謝謝.36 參考文獻(xiàn)參考文獻(xiàn).37 - - 3 摘 要 企業(yè)的員工管理是公司管理的一個(gè)重要內(nèi)容。隨著企業(yè)人員數(shù)量增加,企業(yè)的 員工管理工作也變得越來越復(fù)雜。員工管理既涉及到企業(yè)勞動(dòng)
3、人事的管理,企業(yè)財(cái) 務(wù)管理等。員工管理需要和人事管理相聯(lián)系,同時(shí)連接工時(shí)考勤和醫(yī)療保險(xiǎn)等等, 來生成企業(yè)每個(gè)職工的基本工資、津貼、醫(yī)療保險(xiǎn)、保險(xiǎn)費(fèi)、實(shí)際發(fā)放工資等。早期 的員工統(tǒng)計(jì)和發(fā)放都是使用人工方式處理紙質(zhì)材料,不僅花費(fèi)財(cái)務(wù)人員大量的時(shí)間 且不易保存,往往由于個(gè)人的因素抄寫不慎或計(jì)算疏忽,出現(xiàn)員工統(tǒng)計(jì)錯(cuò)誤的現(xiàn)象。 早期員工管理多采取紙質(zhì)材料和具有較強(qiáng)的時(shí)間限制?;谝陨显?,企業(yè)員工管 理系統(tǒng)使用電腦安全保存、快速計(jì)算、全面統(tǒng)計(jì),實(shí)現(xiàn)員工管理的系統(tǒng)化、規(guī)范化、 自動(dòng)化。企業(yè)員工管理系統(tǒng)是典型的信息管理系統(tǒng)(mis),前臺(tái)程序開發(fā)工具采用 delphi,后臺(tái)數(shù)據(jù)庫(kù)采用 sql server
4、2000 數(shù)據(jù)庫(kù)。delphi 開發(fā)工具,具有組件豐 富、語(yǔ)言簡(jiǎn)單、功能強(qiáng)大的優(yōu)點(diǎn)。 sql 數(shù)據(jù)庫(kù)具有與 delphi 無縫連接、操作簡(jiǎn)單、 易于使用的優(yōu)點(diǎn)。運(yùn)行結(jié)果證明,本企業(yè)員工管理系統(tǒng)極大提高了工作效率,節(jié)省 了人力和物力,最終滿足企業(yè)員工管理等需要,同時(shí)也成為現(xiàn)代化企業(yè)管理的標(biāo)志。 【關(guān)鍵字】員工信息系統(tǒng),數(shù)據(jù)庫(kù),工資管理,實(shí)體關(guān)系圖(e-r 圖),數(shù)據(jù)字 典,數(shù)據(jù)流圖。 abstract enterprise staff management is an important aspect of management. with the increase in the number
5、of enterprises, corporate management staff has become more 4 and more complex. both staff management and personnel involved in labor management, enterprise financial management. staff management needs and associated personnel management, working hours, attendance at the same time to connect and medi
6、cal insurance, etc., to generate business for each of the basic wages of workers, allowance, medical insurance, insurance, wages actually paid. early release of statistics and the staff are using artificial methods to deal with paper-based materials, not only the financial officers spent a lot of ti
7、me and difficult to preserve, often transcription factors as a result of personal carelessness or negligence of the calculation, there is the wrong statistics staff. early management staff to take paper-based materials and many have strong time constraints. for these reasons, the enterprise manageme
8、nt system for staff to preserve the use of computer security, and rapid calculation, comprehensive statistics, staff management to achieve the systematic, standardized and automated. employee management system is a typical management information system (mis), development tools for the future use of
9、delphi, back-end database using sql server 2000 database. delphi development tools, has a component rich in simple language and powerful advantages. sql database with the delphi seamless, simple operation, easy-to-use advantages. the results prove that the enterprise management system staff have gre
10、atly improved work efficiency, saving human and material resources, and ultimately meet the needs of enterprises, such as staff management, but also become a symbol of the modernization of enterprise management 【keywords】 staff information system, database, payroll management, entity relationship di
11、agram (er diagram), data dictionary, data flow diagram. - - 5 第第 1 章章 緒論緒論 1.1 研究課題的背景研究課題的背景 借助現(xiàn)代信息技術(shù)和管理理論,建立員工管理信息系統(tǒng)是當(dāng)今社會(huì)的重要趨 勢(shì)。黨和政府根據(jù)知識(shí)經(jīng)濟(jì)時(shí)代的特點(diǎn),對(duì)國(guó)民經(jīng)濟(jì)建設(shè)提出了“用信息化帶動(dòng) 工業(yè)化”的指導(dǎo)思想。對(duì)企業(yè)而言,全面開發(fā)和應(yīng)用計(jì)算機(jī)管理信息系統(tǒng)就是近 期不能回避的問題。在企業(yè)管理中,人力資源是企業(yè)最寶貴的資源,也是企業(yè)的 “生命線” ,因此員工管理是企業(yè)的計(jì)算機(jī)管理信息系統(tǒng)重要組成部分。而員工 管理又是人力資源管理的重中之重。實(shí)行電子化的員工管理,
12、可以讓人力資源管 理人員從繁重瑣碎的案頭工作解脫出來,去完成更重要的工作。員工管理信息系 統(tǒng)的實(shí)現(xiàn)可以減輕比較繁瑣的手工員工管理。 現(xiàn)在應(yīng)用在大中型企業(yè)的管理信息系統(tǒng)中,幾乎都包括了員工管理模塊。有 些環(huán)境中是由作為大型 erp 軟件中的一個(gè)模塊引進(jìn)的,有些是作為企業(yè)的財(cái)務(wù)系 統(tǒng)的一部分。這些根據(jù)規(guī)范的西方的管理制度設(shè)計(jì)的員工管理軟件,在很多時(shí)候 還不能完全解決中國(guó)特色的中小企業(yè)的問題,本文介紹的畢業(yè)設(shè)計(jì)的研究工作就 是要為這些具有中國(guó)特色的中小企業(yè)解決他們?cè)趩T工管理方面的問題。 通過在本單位經(jīng)過一周的調(diào)研,并參考其他同行設(shè)計(jì)員工管理軟件,我基本 上搞清楚了小型企業(yè)對(duì)系統(tǒng)的需求,如果能夠設(shè)計(jì)一
13、套針對(duì)類似本單位的小型國(guó) 有企業(yè)的員工管理系統(tǒng)特別有意義,并且是現(xiàn)行的其他管理軟件代替不了的。 在和指導(dǎo)老師多次交流后,確定實(shí)現(xiàn)方案的要點(diǎn)和工作計(jì)劃。本系統(tǒng)的實(shí)現(xiàn) 的主要功能有:?jiǎn)T工信息管理、工資管理、部門信息管理、員工考勤管理等功能。 6 1.2 開發(fā)工具簡(jiǎn)介開發(fā)工具簡(jiǎn)介 開發(fā)工具采用 delphi7.0。delphi7.0 是目前較為廣泛的、易學(xué)易用的開發(fā) 工具。delphi7.0 也提供了大量的控件,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功 能,減少了編程人員的工作量,也簡(jiǎn)化了界面設(shè)計(jì)過程,從而有效的提高了應(yīng)用 程序的運(yùn)行效率和可靠性。因此,本系統(tǒng)使用 delphi7.0 開發(fā)。 1.3 數(shù)據(jù)
14、庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng) 數(shù)據(jù)庫(kù)開發(fā)工具采用 sql server 2000。借助 sql server 2000 的數(shù)據(jù)庫(kù)管 理系統(tǒng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行一切操作,包括定義各種更新和控制。在數(shù)據(jù)庫(kù)領(lǐng)域中通常 把數(shù)據(jù)模型分為三種:層次模型(hierarchical model) 、網(wǎng)狀模型(network model)和關(guān)系模型(relational model) 。sql server 2000 就是一種關(guān)系型數(shù) 據(jù)庫(kù)管理系統(tǒng)。 關(guān)系模型是數(shù)據(jù)庫(kù)系統(tǒng)中最重要的模型,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張 二維表。使用表格來描述實(shí)體之間的關(guān)系,用外鍵表示實(shí)體間聯(lián)系。關(guān)系模型是 由若干個(gè)關(guān)系模式組成的集合。關(guān)系模
15、式相當(dāng)于前面提到的記錄類型,每個(gè)關(guān)系 實(shí)際上是一張二維表格。關(guān)系模型和層次、網(wǎng)狀模型的最大判別是用關(guān)鍵碼而不 是用指針導(dǎo)航數(shù)據(jù),表格簡(jiǎn)單用戶易懂,編程時(shí)并不涉及存儲(chǔ)結(jié)構(gòu),訪問技術(shù)等 細(xì)節(jié)。sql 語(yǔ)言是關(guān)系型數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)化語(yǔ)言,已得到了廣泛的應(yīng)用。 - - 7 第第 2 章章 員工工資管理系統(tǒng)分析與設(shè)計(jì)員工工資管理系統(tǒng)分析與設(shè)計(jì) 2.1 應(yīng)用需求分析應(yīng)用需求分析 需求分析的過程可以說是一個(gè)對(duì)具體問題的反復(fù)理解和抽象的過程。理解就 是對(duì)現(xiàn)實(shí)問題的理解,要弄清楚究竟需要解決什么問題。抽象就是除去問題的表 面,提取問題的本質(zhì),建立問題的邏輯模型,以便于以后階段的系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)。 需求分析階段是軟件產(chǎn)
16、品生存命期中的一個(gè)重要階段,其根本任務(wù)是確定用戶對(duì) 軟件系統(tǒng)的需求。所謂需求是指用戶對(duì)軟件的功能和性能的要求,就是用戶希望 軟件能什么事情,完成什么樣的功能,達(dá)到什么性能。通常需求分為兩種類型: 一種是功能性需求,一種是非功能性需求,這一點(diǎn)也需要有一種清楚的認(rèn)識(shí)。功 能性需求是指需要計(jì)算機(jī)系統(tǒng)解決的問題,也就是對(duì)數(shù)據(jù)的處理要求,這是一類 最主要的需求。非功能性需求是指實(shí)際使用環(huán)境所要求的需求,往往是一些限制 要求,例如:性能要求,可靠性要求,安全保密要求,等等。 軟件需求一般包含三個(gè)層次業(yè)務(wù)需求、用戶需求和功能需求,還包括非功 能需求。業(yè)務(wù)需求:反映了組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求
17、,它 們?cè)陧?xiàng)目視圖與范圍文檔中予以說明。用戶需求:描述了用戶使用產(chǎn)品必須要完 成的任務(wù)和具備的功能,這在使用實(shí)例文檔或方案腳本說明中予以說明。功能需 求:定義了開發(fā)人員必須實(shí)現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿 足其業(yè)務(wù)需求。 8 2.2 系統(tǒng)功能模塊劃分系統(tǒng)功能模塊劃分 開發(fā)這個(gè)系統(tǒng)的目的就是幫助企業(yè)的主管部門提高工作效率,實(shí)現(xiàn)企業(yè)員工 信息管理的系統(tǒng)化、規(guī)范化和自動(dòng)化。能夠和工資管理系統(tǒng)、考勤管理系統(tǒng)相結(jié)合, 真正實(shí)現(xiàn)企業(yè)高效、科學(xué)、現(xiàn)代化的員工管理。系統(tǒng)最終實(shí)現(xiàn)的主要功能如圖 2-1 所示: 工資管理系統(tǒng) 信息錄入信息修改打 印信息查詢 員 工 信 息 錄 入 員 工 工 資
18、錄 入 部 門 信 息 錄 入 員 工 工 資 查 詢 部 門 信 息 查 詢 部 門 信 息 修 改 員 工 信 息 修 改 員 工 工 資 修 改 添 加 管 理 員 員 工 信 息 查 詢 所 有 員 工 工 資 修 改 打 印 員 工 信 息 打 印 員 工 工 資 圖 2-1 系統(tǒng)結(jié)構(gòu)圖 1)部門管理:能夠維護(hù)體現(xiàn)部門間的組織關(guān)系,反映部門的基本信息,能夠進(jìn) 行部門的增加撤消,以及部門信息(如部門名稱、負(fù)責(zé)人名稱等)的修改。 2)用戶管理:能夠?qū)ο到y(tǒng)中已有的用戶進(jìn)行編輯、修改權(quán)限或刪除,并能添加 其他的用戶。用戶管理是該系統(tǒng)中最為安全的地方,他設(shè)置權(quán)限問題,不同的權(quán) 限設(shè)置相應(yīng)的操作
19、權(quán)限。這對(duì)一個(gè)企業(yè)來說是至關(guān)重要的。是該系統(tǒng)中設(shè)置安全 問題最為復(fù)雜的。 3)員工信息的管理:維護(hù)員工的基本信息,用戶可以進(jìn)行員工檔案信息的錄入 及更改,其中包括員工的基本信息,要求這些員上檔案信息可以進(jìn)行新增、刪除、 修改操作,同時(shí)可以進(jìn)行瀏覽和查詢的操作。該模塊是本系統(tǒng)的重點(diǎn),用戶可以 - - 9 通過該模塊為單位建立一個(gè)比較完整的人事檔案系統(tǒng),同時(shí)可以比較方便地對(duì)檔 案進(jìn)行查看。 4)員工工資信息管理:維護(hù)員工的工資信息,可以對(duì)員工的工資信息進(jìn)行查找, 和相應(yīng)的新增、刪除、修改等操作,同時(shí)也可進(jìn)行瀏覽查詢的操作。該模塊也是 該系統(tǒng)中設(shè)置安全問題比較多的,員工工資直接關(guān)系到一個(gè)企業(yè)財(cái)務(wù)問題
20、,所以 他不允許不具有權(quán)限的員工進(jìn)行修改。同時(shí)他的總和是計(jì)算機(jī)自動(dòng)計(jì)算的,避免 了出現(xiàn)不必要的錯(cuò)誤。 5)員工考勤信息管理:維護(hù)員工考勤信息,可以對(duì)員工的考勤信息進(jìn)行修改、 添加、刪除等操作,同時(shí)具備對(duì)指定員工考勤信息的查詢?yōu)g覽功能的操作。 據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì)據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì) 3.1 數(shù)據(jù)庫(kù)中表的建立和設(shè)計(jì)數(shù)據(jù)庫(kù)中表的建立和設(shè)計(jì) 所用 sql server 是一個(gè)后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng),它功能強(qiáng)大操作簡(jiǎn)便,目前很多開 發(fā)工具都提供了與 sql server 的接口。sql server 不但可以應(yīng)用于大中型數(shù)據(jù) 庫(kù)管理中,建立分布式關(guān)系數(shù)據(jù)庫(kù),也可以開發(fā)桌面數(shù)據(jù)庫(kù)。sql server 數(shù)據(jù) 庫(kù)處理
21、的基本結(jié)構(gòu),采取關(guān)系型數(shù)據(jù)庫(kù)模式,但在它的數(shù)據(jù)庫(kù)處理方式上,則是 使用面向?qū)ο蟮牟僮鞣绞?,也就是說,sql server 的所有功能,都可以基于系 統(tǒng)已經(jīng)建立好的一些對(duì)象來達(dá)成,是相當(dāng) oo(面向?qū)ο螅┑囊粋€(gè)系統(tǒng)結(jié)構(gòu)。sql server 企業(yè)管理器是 sql server 的主要管理工具,這也是作者在開發(fā)這個(gè)人 事管理系統(tǒng)所用到的一個(gè)重要工具。 10 數(shù)據(jù)庫(kù)設(shè)計(jì)主要是進(jìn)行數(shù)據(jù)庫(kù)邏輯設(shè)計(jì),即將數(shù)據(jù)按一定的分類、分組系統(tǒng) 和邏輯層次組織起來,是面向用戶的。數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)需要綜合企業(yè)各個(gè)部門的存 檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個(gè)數(shù)據(jù)之間的關(guān)系,按照 dbms 提供的功能和描述工 具,設(shè)計(jì)出規(guī)模適當(dāng)、正確反
22、映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多 種查詢要求的數(shù)據(jù)模型 表 3-1 用戶表 列名數(shù)據(jù)類型長(zhǎng)度是否為空 用戶名 char10 否 密碼 char10 否 權(quán)限 nchar15 否 說明:這張表存放的目前用戶的權(quán)限信息,其中用戶名設(shè)為主鍵。每個(gè)登錄 用戶必定屬于以上一個(gè)權(quán)限。該權(quán)限直接關(guān)系到在系統(tǒng)中所具有的權(quán)限,并且用 戶名必須唯一并不能為空。 表 3-2 員工基本信息表 列名數(shù)據(jù)類型長(zhǎng)度是否為空 員工編號(hào) char10 否 員工姓名 nvarchar10 否 性別 nvarchar10 否 出生年月 smalldatetime4 否 參加工作時(shí)間 smalldatetime4 否 部
23、門名稱 nvarchar20 否 政治面貌 nvarchar20 否 婚姻狀況 nvarchar20 否 說明:?jiǎn)T工信息表中包含了員工的基本信息,其中員工編號(hào)是該表的主鍵。 - - 11 字段出生年月和參加工作時(shí)間必須按照相應(yīng)的時(shí)間格式(yyyy-mm-dd)進(jìn)行填寫 否則將出現(xiàn)字符轉(zhuǎn)換的錯(cuò)誤。 表 3-3 員工工資信息表(wages) 列名數(shù)據(jù)類型長(zhǎng)度是否為空 員工編號(hào) char10 否 時(shí)間 datetime8 否 基本工資 int4 否 崗位工資 int4 否 住房補(bǔ)貼 int4 否 津貼 int4 否 工會(huì)會(huì)費(fèi) int4 否 水電費(fèi) int4 否 住房公積金 int4 否 養(yǎng)老保險(xiǎn) i
24、nt4 否 獎(jiǎng)金 int4 否 罰金 int4 否 應(yīng)發(fā)金額 int4 是 應(yīng)扣金額 int4 是 實(shí)發(fā)金額 int4 是 說明:?jiǎn)T工工資信息表包含該企業(yè)所有員工的工資信息,包括每位員工所得 得每項(xiàng)獎(jiǎng)勵(lì)和罰款,其中員工編號(hào)是根據(jù)員工信息表中的員工編號(hào)一致的。字段 應(yīng)發(fā)金額、應(yīng)扣金額、實(shí)發(fā)金額都是根據(jù)前面的值進(jìn)行自己計(jì)算的。這就省去了 人工計(jì)算的麻煩和相應(yīng)的錯(cuò)誤。 表 3-4 部門信息表 12 列名數(shù)據(jù)類型長(zhǎng)度是否為空 部門編號(hào) char20 否 部門名稱 nvarchar20 否 部門負(fù)責(zé)人 nrarchar20 否 部門人數(shù) int4 否 說明:部門信息表中包含了改企業(yè)中所有的部門和該部門的
25、管理人和名稱。 其中部門人數(shù)是根據(jù)員工信息管理中各部門人數(shù)自動(dòng)累加的。 .2 數(shù)據(jù)庫(kù)中各個(gè)表的觸發(fā)器的建立數(shù)據(jù)庫(kù)中各個(gè)表的觸發(fā)器的建立 觸發(fā)器是保證數(shù)據(jù)完整性的有效方法。在很多情況下,用戶希望把一行數(shù)據(jù) 插入表中后,某個(gè)業(yè)務(wù)規(guī)則能夠建立立即執(zhí)行;或者,用戶刪除一行數(shù)據(jù)后,應(yīng) 該立即把其他表中與該行數(shù)據(jù)相關(guān)的數(shù)據(jù)也刪除掉;或者更新某個(gè)表中的一條數(shù) 據(jù)后,能立即實(shí)現(xiàn)所有相關(guān)數(shù)據(jù)的必要更新。要實(shí)現(xiàn)這些目的,一個(gè)很有效的手 段就是觸發(fā)器。 員工管理系統(tǒng)要求員工信息必須是同步的,當(dāng)員工信息表中添加員工信息時(shí) 相應(yīng)的員工工資信息表、考勤信息表中也應(yīng)該添加相應(yīng)的數(shù)據(jù)。 1.當(dāng)員工信息表中發(fā)生變化時(shí),比如刪除
26、員工基本信息,對(duì)應(yīng)的員工基本 工資信息表里的員工信息也應(yīng)該刪除。這是就需要 delete 觸發(fā)器: create trigger employee_delete on dbo.員工基本信息表 for delete as declare num int select num=部門信息表.部門人數(shù) from 部門信息表,deleted where 部門信息表.部門編號(hào)=deleted.部門編號(hào) - - 13 begin update 部門信息表 set 部門人數(shù)=部門人數(shù)-1 from 部門信息表,deleted where 部門信息表.部門編號(hào)=deleted.部門編 號(hào) delete 員工工資
27、信息表 from deleted where deleted.員工編號(hào)=員工工 資信息表.員工編號(hào) delete 用戶表 from deleted where deleted.員工編號(hào)=用戶表.用戶名 end 2.當(dāng)員工信息表中添加員工信息時(shí),部門人數(shù)應(yīng)該增加所以應(yīng)該有 insert 觸發(fā)器: create trigger employee_insert on dbo.員工基本信息表 for insert as declare num int select num=部門信息表.部門人數(shù) from 部門信息表,inserted where 部門信息表.部門編號(hào)=inserted.部門編號(hào) beg
28、in update 部門信息表 set 部門人數(shù)=部門人數(shù)+1 from 部門信息表,inserted where 部門信息表.部門編號(hào)=inserted.部 門編號(hào) end 3.如果部門信息表里記錄的部門人數(shù)不正確,數(shù)據(jù)庫(kù)應(yīng)該有自動(dòng)計(jì)算出人數(shù) 并修改的功能,這就需要 update 觸發(fā)器: create trigger employee_update on dbo.員工基本信息表 14 for update as update 部門信息表 set 部門人數(shù)=( select count(員工基本信息表.員工編號(hào)) from 員工基本信 息表,inserted where 員工基本信息表.部門
29、編號(hào)=inserted.部門編號(hào)) from 部門信息表,inserted where 部門信息表.部門編號(hào)=inserted.部門編號(hào) update 部門信息表 set 部門人數(shù)=( select count(員工基本信息表.員工編號(hào)) from 員工基本 信息表,deleted where 員工基本信息表.部門編號(hào)=deleted.部門編號(hào)) from 部門信息表,deleted where 部門信息表.部門編號(hào)=deleted.部門編號(hào) - - 15 應(yīng)用程序設(shè)計(jì)應(yīng)用程序設(shè)計(jì) 4.2 登錄模塊設(shè)計(jì)登錄模塊設(shè)計(jì) 系統(tǒng)封面顯示完畢后,系統(tǒng)創(chuàng)建主窗體,即登陸界面。登陸界面包含用戶名、 密碼、用
30、戶登錄按鈕、職工登錄按鈕,注冊(cè)按鈕,如下圖所示: 圖 4-2 4.2.1 身份驗(yàn)證身份驗(yàn)證 輸入:輸入用戶名稱,填寫正確的密碼。 處理: (1) 用戶登錄窗體啟動(dòng)。 (2) 用戶填寫用戶名并輸入密碼。 (3) 從用戶清單表中檢查是否有相應(yīng)的用戶名和密碼。 (4) 如果輸入的用戶名或相應(yīng)密碼錯(cuò)誤,進(jìn)行提示。 (5) 如果輸入的用戶名和相應(yīng)密碼正確,判斷用戶的權(quán)限并且進(jìn)入主控制 平臺(tái) 16 輸出:主控制平臺(tái) 除了必要的控件外還需要一數(shù)據(jù)庫(kù)控件 tadtable,設(shè)置 connectionstring 連接到工資管理數(shù)據(jù)庫(kù)。 登陸驗(yàn)證部分代碼為: form2.adotable1.locate(用戶名
31、;密碼;權(quán)限,vararrayof(edit1.text, edit2.text,管理員)/button1 按鈕事件(管理員),驗(yàn)證用戶登錄 信息 由于管理員和職工進(jìn)入的主界面相同,所以只需要設(shè)置一些按鈕的 enable 為 false 即可,這樣做減少了窗體,相應(yīng)的程序所占用的空間也減少。 因?yàn)椤傲己玫慕换バ杂欣谔岣呷藱C(jī)匹配效率“,所以,除以上代碼之外, 還需設(shè)置提醒信息:如“登陸失敗” , “請(qǐng)重新登陸”等字樣,這樣,出現(xiàn)錯(cuò)誤的 時(shí)候可以友好的提示用戶。 4.3 主窗體設(shè)計(jì)主窗體設(shè)計(jì) 用戶登錄后進(jìn)入系統(tǒng)的主界面,如圖 4-3 所示: - - 17 圖 4-3 在這個(gè)項(xiàng)目中,選擇使用多文檔
32、界面。使用這個(gè)窗體的好處是可以使程序更 加有條理。對(duì)于一個(gè)多任務(wù)的應(yīng)用程序,使用多文檔窗體還可以減少占用的系統(tǒng) 資源。 主窗體設(shè)計(jì)的界面是用菜單編輯器做的,主要信息錄入、信息查詢、信息修 改、信息打印四部分組成。主窗體是進(jìn)行相關(guān)操作的主界面。 該界面是系統(tǒng)的主界面,通過主界面進(jìn)入其他的功能界面。其中用戶能夠顯 示登錄的用戶名而權(quán)限顯示的該用戶所具有的權(quán)限。如果是管理員權(quán)限能夠?qū)φ?個(gè)系統(tǒng)進(jìn)行所有的操作,而普通用戶權(quán)限只能進(jìn)入信息查尋、錄入和修改自己的 信息。 在住窗體中進(jìn)入信息錄入(員工信息錄入,員工工資錄入,部門信息錄入) 時(shí),進(jìn)入的是同一個(gè)窗體(form4),所以在單擊菜單編輯器時(shí)就需要用
33、代碼對(duì) format4 窗體進(jìn)行必要的修改,如 form4 的 caption,adotabel 連接的數(shù)據(jù)表, 還有 edit 和 label 的可見度和 label 的 caption,form4 的大小等。 18 4.5 信息查詢管理窗體設(shè)計(jì)信息查詢管理窗體設(shè)計(jì) 信息查詢窗體員工信息查詢,圖 4-5 圖 4-5 4.5.1 查詢模塊設(shè)計(jì)查詢模塊設(shè)計(jì) 該窗體是三個(gè)窗體集成的窗體 form6,它包括:員工信息查詢,員工工 資查詢,部門信息查詢?nèi)齻€(gè)部分。管理員和員工進(jìn)入這個(gè)界面時(shí)的操作時(shí)相同的 在查詢到信息時(shí)還可以把所查詢的信息進(jìn)行打印。通過該窗體,企業(yè)可以掌握員 工的姓名,出生日期,參加工作
34、時(shí)間等,這有助于對(duì)員工的了解,同時(shí)員工可以 通過該窗體自己的個(gè)人信息和工資信息進(jìn)行確認(rèn),了解部門信息等 在該窗體中查詢的設(shè)計(jì)總共用到兩次:指定相應(yīng)信息的查詢?cè)O(shè)計(jì)和查詢所有 的信息。 使用 radiobutton 設(shè)置了不同的選擇條件,當(dāng)選擇員工編號(hào)時(shí),其他的信息輸入 - - 19 欄變?yōu)椴豢捎茫瑯舆x擇其他的另外兩個(gè)不可用,查詢時(shí)根據(jù)選定的 radiobutton 而判斷查詢的條件。 主要源碼: if form6.caption=員工信息查詢 then/確定標(biāo)題用于連接數(shù)據(jù)表 begin form6.adotable1.close; form6.adotable1.open; form6.ad
35、otable1.active:=true; if form6.radiobutton1.checked then/判斷查詢的方式 begin /按員工編號(hào)查詢 if form6.adotable1.locate(員工編號(hào),edit1.text,) then showmessage(找到信息) else showmessage(沒有此項(xiàng)記錄); end; if form6.radiobutton2.checked then/按姓名查詢 begin if form6.adotable1.locate(姓名,edit2.text,) then showmessage(找到信息) else showm
36、essage(沒有此項(xiàng)記錄); end; end; 20 4.6 信息修改模塊信息修改模塊 信息修改模塊員工基本信息修改,圖 4-6 和圖 4-7 圖 4-6 圖 4-7 - - 21 4.6.1 修改模塊設(shè)計(jì)修改模塊設(shè)計(jì) 該窗體也是三個(gè)窗體集成與一個(gè)窗體 form7,包括:?jiǎn)T工基本信息修改, 員工工資信息修改,部門信息修改三個(gè)部分。當(dāng)職工進(jìn)入時(shí)如果要修改就必須通 過員工姓名查找出該員工(圖 4-6) ,如果輸入的員工名字是正確的 edit 表中就 有內(nèi)容,否則,出現(xiàn)提示信息沒有該員工的記錄。當(dāng)管理員進(jìn)入時(shí)(圖 4-7) , 會(huì)有 dbgrid 表,單擊這張表中的內(nèi)容會(huì)自動(dòng)賦值到 edit 中
37、 部分代碼: a查找出要修改的員工: if form7.caption=員工信息修改 then begin if form7.adotable1.locate(員工姓名,edit13.text,) then begin edit1.text:=dbgrid1.fields0.asstring;/省略 end else showmessage(沒有該員工的記錄); bdbgrid 的單擊事件(單擊 dbgrid 把內(nèi)容賦值到 edit): if form7.adotable1.tablename=員工工資信息表 then begin edit1.text:=dbgrid1.fields0.ass
38、tring;/省略 end; c修改,保存: form7.adotable1.edit;/系統(tǒng)進(jìn)入修改狀體 form7.adotable1.fieldbyname(員工編號(hào)). 22 asstring:=edit1.text;/字符串類型修改 form7.adotable1.fieldbyname(出生年月). asdatetime:=strtodatetime( edit4.text);/時(shí)間類型修改 adotable1.post;/修改后保存 showmessage(修改成功); 4.7 數(shù)據(jù)導(dǎo)出模塊設(shè)計(jì)數(shù)據(jù)導(dǎo)出模塊設(shè)計(jì) 數(shù)據(jù)導(dǎo)出時(shí)必不可少的功能,同樣數(shù)據(jù)的導(dǎo)入也必須有的。該系統(tǒng)設(shè)計(jì)并沒
39、有設(shè)計(jì)打印功能,而是設(shè)計(jì)了數(shù)據(jù)的導(dǎo)出。導(dǎo)出的數(shù)據(jù)是直接導(dǎo)入到 excel,這 樣又可以對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步的整理,同時(shí)也可利用 excel 的打印和打印預(yù)覽功能 。這樣減少了系統(tǒng)所耗得系統(tǒng)資源。有利于系統(tǒng)的快速運(yùn)行,優(yōu)化了系統(tǒng)。 導(dǎo)出分導(dǎo)出所有和導(dǎo)出單條,其中導(dǎo)出所有就是導(dǎo)出員工信息表中所有的數(shù) 據(jù)而導(dǎo)出單條是建立在查詢的基礎(chǔ)上的,也就是說首先需要查詢,當(dāng)你查詢到某 條數(shù)據(jù)后,在可以導(dǎo)出所查到得數(shù)據(jù)。 導(dǎo)出的源代碼如下: procedure tform3.n15click(sender: tobject); var h,k:integer; excelid: olevariant; s: stri
40、ng; begin try excelid := createoleobject(excel.application); except - - 23 application.messagebox(excel 沒有安裝!, 提示信息, mb_ok+mb_iconasterisk+mb_defbutton1+mb_applmodal); exit; end; try adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add(select * from 員工基本信息表); adoquery1.open; k:=adoquery1.recordco
41、unt; excelid.visible := true; excelid.workbooks.add; excelid.worksheets1.rangea1:i1.merge(true); excelid.worksheets1.cells1,1.value :=員工基本信 息表 ; excelid.worksheets1.rangea1:a1.horizontalalignment := $ffffeff4; excelid.worksheets1.rangea1:a1.verticalalignment := $ffffeff4; excelid.worksheets1.cells2,
42、1.numberformat:=1-1; excelid.worksheets1.cells2,1.value := 員工編號(hào); excelid.worksheets1.cells2,2.value := 姓 名; 24 excelid.worksheets1.cells2,3.value := 性 別; excelid.worksheets1.cells2,4.columnwidth:=10; excelid.worksheets1.cells2,4.value := 出生年月; excelid.worksheets1.cells2,5.columnwidth:=10; excelid.wo
43、rksheets1.cells2,5.value := 參加工作時(shí)間; excelid.worksheets1.cells2,6.value := 部門編號(hào); excelid.worksheets1.cells2,7.value := 職 務(wù); excelid.worksheets1.cells2,8.value := 政治面貌; excelid.worksheets1.cells2,9.value := 婚姻狀況; excelid.worksheets1.rangea1:i1.font.name := 宋體; excelid.worksheets1.rangea1:i1.font.size:
44、=14; excelid.worksheets1.rangea1:i2.font.bold:=true; excelid.worksheets1.rangea2:i2.font.size:=10; excelid.worksheets1.rangea2:i2.horizontalalignment:= $ffffeff4; excelid.worksheets1.rangea2:i2.verticalalignment := $ffffeff4; h:=3; adoquery1.first; while not adoquery1.eof do begin excelid.worksheets
45、1.cellsh,1.value:=adoquery1.fieldbyname(員 工編號(hào)).asstring; - - 25 excelid.worksheets1.cellsh,2.value:=adoquery1.fieldbyname(姓 名).asstring; excelid.worksheets1.cellsh,3.value:=adoquery1.fieldbyname(性 別).asstring; excelid.worksheets1.cellsh,4.value:=adoquery1.fieldbyname(出 生年月).asstring; excelid.workshe
46、ets1.cellsh,5.value:=adoquery1.fieldbyname(參 加工作時(shí)間).asstring; excelid.worksheets1.cellsh,6.value:=adoquery1.fieldbyname(部 門編號(hào)).asstring; excelid.worksheets1.cellsh,7.value:=adoquery1.fieldbyname(職 務(wù)).asstring; excelid.worksheets1.cellsh,8.value:=adoquery1.fieldbyname(政 治面貌).asstring; excelid.worksheets1.cellsh,9.value:=adoquery1.fieldbyname(婚 姻狀況).asstring; inc(h); adoquery1.next; end; s := a2:i+ inttostr(k+2); excelid.worksheets1.ranges.font.name := 宋體; excelid.worksheets1.ranges.borders.linestyle := 1; except application.messagebox(導(dǎo)入數(shù)據(jù)出錯(cuò)!請(qǐng)檢查文件的格式是否正確!, 26 提示信息,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年湖北省安全員知識(shí)題庫(kù)
- 2025年湖南體育職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)帶答案
- 2025年衡水健康科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)帶答案
- 2025年甘肅交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)一套
- 2025年貴州水利水電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)學(xué)生專用
- 2025年湖北省襄樊市單招職業(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 2025建筑安全員B證(項(xiàng)目經(jīng)理)考試題庫(kù)
- 電子商城的安全交易保障技術(shù)
- 2025年吉林電子信息職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案一套
- 科技前沿生物乙醇產(chǎn)業(yè)鏈的技術(shù)創(chuàng)新動(dòng)態(tài)
- GB/T 22560-2008鋼鐵件的氣體氮碳共滲
- GB/T 1265-2003化學(xué)試劑溴化鈉
- 統(tǒng)編版四年級(jí)道德與法治下冊(cè)全冊(cè)課件
- 11-化學(xué)動(dòng)力學(xué)基礎(chǔ)-2-考研試題資料系列
- 醫(yī)院評(píng)審工作臨床科室資料盒目錄(15個(gè)盒子)
- 社區(qū)獲得性肺炎臨床路徑
- 壓力性損傷指南解讀
- 湯姆走丟了 詳細(xì)版課件
- 大學(xué)學(xué)院學(xué)生心理危機(jī)預(yù)防與干預(yù)工作預(yù)案
- 國(guó)有土地上房屋征收與補(bǔ)償條例 課件
- 鐵路建設(shè)項(xiàng)目施工企業(yè)信用評(píng)價(jià)辦法(鐵總建設(shè)〔2018〕124號(hào))
評(píng)論
0/150
提交評(píng)論