




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機類課程設計報告課程名稱:數據庫原理及應用課程設計課程設計題目:人力資源管理系統姓名:盧培河系:計算機科學與技術系專業:計算機科學與技術(專升本)年級:2008級學號:081806023指導教師:瞿賽櫻職稱:講師2010年1月27日福建農林大學計算機與信息學院計算機類課程設計結果評定評語:評定內容評定指標等級成績設計質量1.設計方案具有可行性和創新性,設計思路清晰(滿分15分)優良中差2.獨立進行設計工作;能運用所學知識和技能去發現與解決實際問題,設計質量較高(滿分20分)優良中差3.設計需求合理,功能完善,代碼簡潔,結構清晰(滿分20分)優良中差4.按期完成規定的任務,工作量飽滿,難度較大(滿分15分)優良中差報告質量1.設計報告格式規范、文字通順,符號統一,編號齊全,書寫工整規范,圖表完備、整潔、正確(滿分15分)優良中差2.設計報告內容充實,詳細設計描述具體,各項內容合乎軟件文檔撰寫要求(滿分15分)優良中差評定結果總成績(滿分100分)指導教師簽字:評定日期:目錄TOC\o"1-3"\h\u1.設計目的 12.設計要求 13.設計方案 24.設計內容 24.1需求分析 24.2概要設計說明 6項目規劃功能框圖開發及運行環境4.3詳細設計說明 16公共模塊設計(Mdl_Link模塊)新員工登記模塊設計工資設置模塊設計263644.4系統使用說明5.總結參考文獻附錄源代碼人力資源管理系統1.設計目的2.設計要求本次設計要求系統具有以下功能:具有良好的操作界面。業務模塊能夠自由增加、修改及刪除信息。建立數據庫備份機制,并提供數據災難恢復功能。支持數據的模糊查詢機制。自動計算員工工資。自動生成員工工資報表。實現員工崗位調動操作。實現員工離職、復職操作,系統退出。3.設計方案本系統采用的設計方案是使用Delphi7.0開發,它是當月前最為流行的可視化快速應用程序開發環境,對數據庫有強大的支持。后臺數據庫使用SQLServer2000數據庫,以保證數據的安全和執行高效。人力資源管理系統是一個典型的數據庫應用程序,由啟動窗體、登錄模塊、系統主界面、系統管理模塊、信息設置模塊、人事管理模塊、工資管理模塊等組成,具體的功能模塊如下:系統管理模塊該模塊的主要功能是單位信息、管理員設置、更改密碼、重新登錄。信息設置模塊該模塊主要功能是對部門信息、工種類型、職稱類型、文化程度、政治面貌、民族類型、所得稅設置、考勤設置等進行設置。人事管理人事管理模塊主要功能是新員工登記、應聘登記、員工調動、員工離職、考核管理、合同管理、應聘信息瀏覽、員工信息瀏覽。工資管理工資管理模塊主要是:設置員工的工資信息、生成工資報表、工資檔案瀏覽。4.設計內容經過調查分析,要求系統具有以下功能:具有良好的操作界面。業務模塊能夠自由增加、修改及刪除信息。建立數據庫備份機制,并提供數據災難恢復功能。支持數據的模糊查詢機制。自動計算員工工資。自動生成員工工資報表。實現員工崗位調動操作。實現員工離職、復職操作,系統退出。項目規劃:人力資源管理系統是一個典型的數據庫應用程序,由啟動窗體、登錄模塊、系統主界面、系統管理模塊、信息設置模塊、人事管理模塊、工資管理模塊等組成,具體的功能模塊如下:系統管理模塊該模塊的主要功能是單位信息、管理員設置、更改密碼、重新登錄。信息設置模塊該模塊主要功能是對部門信息、工種類型、職稱類型、文化程度、政治面貌、民族類型、所得稅設置、考勤設置等進行設置。人事管理人事管理模塊主要功能是新員工登記、應聘登記、員工調動、員工離職、考核管理、合同管理、應聘信息瀏覽、員工信息瀏覽。工資管理工資管理模塊主要是:設置員工的工資信息、生成工資報表、工資檔案瀏覽。:圖1功能框架圖:根據企業的需要和人力資源管理系統的特點本系統實施后應達到以下目標:使企業日常事務性的人事工作都可能通過人力資源管理軟件得到快速高效的完成。降低人力資源成本。操作界面美觀、標準、專業、統一,實施方法簡單、方便。通過員工工資的自動計算功能,從而減輕工作人員的工作壓力。通過數據備份及恢復功能,避免數據因意外而造成致命問題。開發及運行環境:系統開發平臺:Delphi7.0。數據庫管理系統軟件:SQLServer2000。運行平臺:Windowsxp/Windows2000。分辨率:最佳效果800*600。數據庫設計:本系統采用SQLServer2000數據庫,系統數據庫名為db_manpowerinfo,數據庫db_manpowerinfo中包括18個數據表。下面分別給出數據庫概要說明和數據表的結構。1.數據表概要說明如圖2所示的即為本系統中數據庫中的數據表的樹形結構圖,該數據表樹型結構圖包含系統所有數據表。可以清晰地反應數據庫信息。圖2數據表樹樹形結構圖2.數據表的結構(1)考核表考核表的作用是存入員工每個月的考核信息,考核表結構如表B.1所示。表B.1考核表結構列名數據類型長度主鍵否功能描述員工編號varchar5員工編號出勤天數int4出勤天數請假天數int10請假天數遲到次數int10遲到次數早退次數int4早退次數曠工天數int4曠工天數加班時數int4加班時數考核等級varchar10考核等級考核分值float8考核分值考核人varchar10考核人考核月份datetime8考核月份考核評價Varchar100考核評價(2)考勤表考勤表的作用是存放員工考核的條件,考勤表結構如表B.2所示。表B.2考勤表結構列名數據類型長度主鍵否功能描述曠工扣除float8曠工扣除全勤獎float8全勤獎出勤天數Int4出勤天數遲到早退次數Int4遲到早退次數加班費Float8加班費月平均工作天數Int4月平均工作天數幾倍float8幾倍(3)工資表工資表的作用是存放員工每個月的工資信息,工資表結構如表B.3所示。表B.3工資表結構列名數據類型長度主鍵否功能描述所屬工資月份nvarchar15所屬工資月份員工編號nvarchar5員工編號員工姓名nvarchar10員工姓名基本工資Float8基本工資加班費Float8加班費全勤獎Float8全勤獎職務津貼Float8職務津貼其它金額Float8其它金額曠工費Float8曠工費養老保險Float8養老保險失業保險Float8失業保險醫療保險Float8醫療保險其它扣額Float8其它扣額應發工資Float8應發工資應扣工資Float8應扣工資實發工資Float8實發工資備注nvarchar50備注(4)工資模板工資模板是用來存放員工的基本工資信息,工資模板表結構如表B.4所示。表B.4工資模板表列名數據類型長度主鍵否功能描述員工編號Nvarchar5員工編號員工姓名Nvarchar10員工姓名基本工資float8基本工資全勤獎float8全勤獎職務津貼float8職務津貼養老保險float8養老保險失業保險float8失業保險醫療保險float8醫療保險(5)人事表人事表用來存放員工的詳細信息,人事表結構如表B.5所示。表B.5人事表結構列名數據類型長度主鍵否功能描述編號nvarchar5是編號姓名nvarchar10姓名性別nvarchar2性別身份證號nvarchar20身份證號出生年月datetime8出生年月民族varchar20民族婚姻狀況Nvarchar4婚姻狀況政治面貌nvarchar10政治面貌籍貫nvarchar50籍貫聯系電話nvarchar20聯系電話手機號碼nvarchar30手機號碼電子郵箱nvarchar20電子郵箱家庭地址nvarchar50家庭地址畢業院校nvarchar50畢業院校專業nvarchar20專業文化程度nvarchar10文化程度特長nvarchar50特長參加工作時間datetime8參加工作時間工齡int4工齡照片image16照片所屬部門nvarchar50所屬部門工種nvarchar10工種職務nvarchar10職務職稱nvarchar20職稱基本工資float8基本工資其它工資float8其它工資調入時間datetime8調入時間簡歷nvarchar200簡歷登記日期datetime8登記日期登記人nvarchar10登記人是否離職nvarchar10是否離職離職日期datetime8離職日期復職日期datetime8復職日期離職復員登記人varchar10離職復員登記人(6)保險表保險表用來保存員工的保險信息,保險表結構如表B.6所示。表B.6保險表結構字段名數據類型長度主鍵否功能描述員工編號nvarchar5員工編號員工姓名nvarchar10員工姓名養老保險money8養老保險失業保險money8失業保險醫療保險money8醫療保險(7)部門表部門表用來保存部門信息,部門表結構如表B.7所示。表B.7部門表結構字段名數據類型長度主鍵否功能描述部門編號nvarchar3部門編號部門名稱nvarchar10是部門名稱(8)操作員信息表操作員信息表用來保存操作員信息,操作員信息表結構如表B.8所示。表B.8操作員表結構字段名數據類型長度主鍵否功能描述操作員名稱varchar20操作員名稱操作員密碼varchar20操作員密碼(9)單位信息表單位信息表用來保存單位信息,單位信息表結構如表B.9所示。表B.9單位信息表結構字段名數據類型長度主鍵否功能描述單位名稱varchar50單位名稱法人varchar20法人創建日期datetime8創建日期單位電話varchar20單位電話單位郵箱varchar20單位郵箱單位地址varchar80單位地址單位介紹varchar100單位介紹(10)個人所得稅稅率表個人所得稅稅率表用來保存個人所得稅稅率信息,個人所得稅稅率表結構如表B.10所示。表B.10個人所得稅稅率表結構字段名數據類型長度主鍵否功能描述級別號int8級別號應納所得稅金額下限float8應納所得稅金額下限應納所得稅金額上限float8應納所得稅金額上限稅率float8稅率(11)工種表工種表用來保存工種信息,工種表結構如表B.11所示。表B.11工種表結構字段名數據類型長度主鍵否功能描述工種nvarchar20是工種(12)合同表合同表用來保存合同信息,合同表結構如表B.12所示。表B.12合同表結構字段名數據類型長度主鍵否功能描述合同編號nvarchar15合同編號員工編號nvarchar5員工編號登記日期datetime8登記日期合同開始日期datetime8合同開始日期合同結束日期datetime8合同結束日期合同期限int8合同期限合同期工資money8合同期工資狀態nvarchar8狀態備注nvarchar100備注(13)民族表民族表用來保存員工為那個民族,民族表結構如表B.13所示。表B.13民族表結構字段名數據類型長度主鍵否功能描述民族nvarchar20是民族(14)文化程序表文化程序表用來保存員工的文化程度,文化程序表結構如表B.14所示。表B.14文化程序表結構字段名數據類型長度主鍵否功能描述文化程度nvarchar20是文化程度(15)應聘信息表應聘信息表用來保存員工應聘信息,應聘信息表結構如表B.15所示。表B.15應聘信息表結構字段名數據類型長度主鍵否功能描述編號varchar10編號姓名varchar10姓名性別varchar2性別出生日期datetime8出生日期民族varchar20民族聯系電話varchar20聯系電話電子信箱varchar30電子信箱通信地址varchar100通信地址畢業院校varchar50畢業院校專業varchar20專業文化程度varchar20文化程度特長varchar20特長興趣愛好varchar20興趣愛好專業技能varchar100專業技能工作經歷varchar100工作經歷(16)政治面貌表政治面貌表用來保存員工的政治面貌,政治面貌表結構如表B.16所示。表B.16政治面貌表結構字段名數據類型長度主鍵否功能描述政治面貌nvarchar20是政治面貌(17)職稱表職稱表用來保存員工職稱信息,職稱表結構如表B.17所示。表B.17職稱表結構字段名數據類型長度主鍵否功能描述職稱名稱nvarchar20是職稱名稱(18)職務表職務表用來保存員工職務信息,職務表結構如表B.18所示。表B.18職務表結構字段名數據類型長度主鍵否功能描述職務名稱nvarchar20是職務名稱文件架構圖圖C.1文件架構圖信息設置架構圖,如圖C.2所示。圖C.2信息設置架構圖人事管理架構圖,如C.3所示。圖C.3人事管理架構圖工資管理架構圖,如圖C.4所示。圖C.4工資管理架構圖公共模塊設計(Mdl_Link模塊)數據模塊窗體主要功能是統一管理數據庫訪問組件,數據模塊如圖3所示。圖3數據模塊設計步驟:(1)在Delphi中選擇“File”/“New”/“DataModule”菜單項,新建一個數據模塊,命名為“Data1”。(2)在“ADO”組件頁中點選“TADOConnection”組件,添加到窗體上,TADOConnection組件用到連接數據庫,其它數據庫組件通過它連接數據庫。(3)點選ADOConnection1組件,在“ObjectInspector”窗口中,單擊ConnectionString屬性右側的【…】按鈕,彈出對話框如圖4所示。圖4數據連接對話框(4)單擊【Build】按鈕,在彈出的對話框中的“提供程序”選項卡中設置希望連接的數據,如圖5所示。圖5連接屬性對話框(5)選擇“連接”選項卡,設置連接相關設置,如圖6所示。圖6連接屬性對話框(6)單擊【測試連接】按鈕,如果連接成功,則提示成功,單擊【確定】按鈕完成數據庫的連接。(7)在窗體上添加TADOQuery組件,設置Connection屬性為“ADOConnection1”。主窗體設計主窗體中主要控制方式是通過菜單和工具欄按鈕來調用子窗體,它的背景區由一幅圖片填充。人力資源管理系統主窗體運行結果如圖7所示。圖7人力資源管理系統主窗體1.窗體設計步驟(1)運行Delphi7,會自動創建一個窗體,設置該窗體為程序主窗體,命名該窗體為“frm_main”,設置窗體的Caption屬性為“人力資源管理系統”;WindowsStyle屬性為“wsMaximized”。(2)在“Standard”組件頁中點選“TMainMenu”組件,添加到窗體上,雙擊該組件進行菜單添加,如圖8所示圖8主菜單設計(3)在“Win32”組件頁中點選“TCoolBar”組件,添加到窗體上。(4)在“Win32”組件頁中點選“TToolBar”組件,添加到TcoolBar組件上。(5)在“Additional”組件頁中點選“TSpeenButton”組件,添加到TtoolBar組件上,設置Caption屬性。(6)在“Win32”組件頁中點選“TStatusBar”組件,添加到窗體上,雙擊該組件,為其添加項,如圖9所示。圖9任務欄設計(7)在“Standard”組件頁中點選“TPanel”組件,添加到窗體上,設置Bevellnner屬性為“bvSpace”,設置BevelOuter屬性為“bvLowered”,設置Align屬性為“alClient”。(8)在“Additional”組件頁中點選“TImage”組件,添加到Panel1組件上,設置Align屬性為“AlClient”,設置Stretch屬性為“Tree”。(9)在“Dialog”組件頁中分別選擇“TOpenDialog”和“TSaveDialog”組件,依次添加到窗體上。系統登錄設計系統登錄主要用于對進入人力資源管理系統的用戶進行安全性檢查,阻止非法用戶進入該系統。驗證操作員及其密碼,主要通過記錄集結果(RecordCount)結合If語句判斷用戶選定的操作員及其輸入的密碼是否符合數據庫中的操作員和密碼,如果符合則允許登錄,否則提示用戶用戶名或密碼不正確,如果錯誤超過三次,強行退出。圖10系統登錄模塊1.窗體設計步驟(1)新建一個窗,命名為“frm_Login”,設置Caption屬性為“登錄”,設置Position屬性為“poScreenCenter”。(2)在“Additional”組件頁中點選“TImage”組件,添加到窗體上,設置Align屬性為“alClient”;Stretch屬性為“Tree”,在Pictuer屬性中添加圖片。(3)在“Standard”組件頁中點選“TEdit”組件,添加到窗體上,設置Ctl3D屬性為“False”;設置Text屬性為空,設置Edir2的PasswordChar屬性為“*”。(4)在“Additional”組件頁中點選“TSpeedButton”組件,添加到窗體上,設置Caption屬性分別為“登錄”和“取消”;設置Flat屬性為“True”。新員工登記模塊設計新員工登記模塊,主要用于添加、修改新員工的個人基本信息,如:姓名、性別、民族、文化程度等。新員工登記模塊運行結果如圖11所示。圖11新員工登記模塊1.窗體設計步驟(1)新建一個窗體,命名為“frm_xygdj”,設置Caption屬性為“新員工登記”,設置Position屬性為“poScreenCenter”。(2)在窗體中添加“TPanel”組件、“TGroupBox”組件、“TEdit”組件、“TCombobox”組件、“TLabel”組件、“TMaskEdit”組件、“TMemo”組件、“TBitbtn”組件、“TImage”組件,設置屬性如表1所示。表1主要組件屬性設置組件名稱所在組件頁屬性值Panel1StandardAlignBevellnnerBevelOuteralClientbvSpacebvLoweredPanel2StandardAlignBevellnnerBevelOuteralNonebvSpacebvLoweredPanel3StandardAlignBevellnnerBevelOuteralNonebvSpacebvLoweredGroupbox1StandardCaption基本信息Groupbox2StandardCaption其它信息MaskEditAdditionalCtl3DEditMaskFalse!9999/99/00;1;_ImageAdditionalAlignStretchalClientTure工資設置模塊設計工資設置模塊主要用于設置員工的工資信息,此窗體中主要應用的也是基本的SQL語句Insert向數據中插入數據。工資設置模塊運行結果如圖12所示。圖12工資設置模塊1.窗體設計步驟(1)新建一個窗體,命名為“frm_gzsz”,設置Caption屬性為“工資設置”,設置Position屬性為“poScreenCenter”。(2)在“Standard”組件頁中點選“TPanel”組件,在窗體上添加3個TPanel組件,分別命名為“Panel1”、“Panel2”、“Panel3”,設置Bevellnner屬性為“bvSpace”;BevelOuter屬性為“bvLowered”,分別設置Align屬性為“alClient”、“alTop”、“alClient”。(3)在“Standard”組件頁中點選“TGroupBox”組件,在Panel2組件上添加2個TGroupBox組件,設置Caption屬性為“工資設置”和“保險設置”。(4)在“Standard”組件頁中點選“TLabel”組件,添加到GroupBox1和GroupBox2組件上,按上圖所示設置Caption屬性。(5)在“Standard”組件頁中點選“TEdit”組件,添加到GroupBox1和GroupBox2組件上,設置Ctl3D屬性為“False”,設置Text屬性為空。(6)在“Standard”組件頁中點選“TCombobox”組件,添加到GroupBox1組件上,設置Text屬性為空。(7)在“Standard”組件頁中點選“TCheckBox”組件,添加到Panel2組件上,設置Caption屬性為“設置保險”。(8)在“Additional”組件頁中點選“TBitBtn”組件,在Panel2組件上添加4個TBitBtn組件,設置Caption屬性分別為“保存”、“修改”、“刪除”、“退出”,通過Glyph屬性為按鈕添加圖片。(9)在“DataAccess”組件頁中點選“TDataSource”組件,添加到窗體上,設置DataSet屬性為“”。(10)在“DataControls”組件頁中點選“TDBGrid”組件,添加到Panel3組件上,設置Align屬性為“alClient”,DataSource屬性為“DataSource1”。操作系統:Windows2000/NT/XP/ME數據庫:SQLServer2000硬件配置:CPU:600MHz以上的處理器內存:64MB,推薦128MB以上硬盤:100MB以上磁盤空間分辨率:最低800×600像素建議1024×768像素顏色:256色數據庫配置及安裝《人力資源管理系統》采用SQLServer數據庫開發,在程序首次啟動時會檢查所需的數據庫是否已經安裝;如果沒有安裝,則系統會彈出如圖2.12所示的提示信息。圖2.12登錄失敗提示信息2.2.1手動配置數據庫附加數據庫的步驟如下:(1)將程序目錄data下的db_manpowerinfo_Data.MDF和db_manpowerinfo_Log.LDF文件拷貝到SQLServer2000安裝路徑下的“MSSQL”/“Data”目錄下。如果您的計算機上沒有安裝SQLServer,請先安裝SQLServer2000(Windows98下請安裝中文版個人版),安裝SQLServer2000數據庫時,在身份安全驗證機制選項中必須要選擇“Windows和SQLServer混合安全驗證機制”。sa的密碼設置為空。如果您已經安裝好了SQLServer2000,也可以在“企業管理器”/“數據庫”/“工具”/“SQL配置屬性”/“安全性”中修改當前的配置屬性。(2)選擇“開始”/“程序”/“MicrosoftSQLServer”/“企業管理器”項,進入SQLServer2000企業管理器。(3)在打開的“控制臺根目錄”窗口中,連續單擊父級節點,展開至如圖2.13所示。圖2.13控件臺根目錄窗口其中“MRLX”節點為本機的服務器名稱。(4)選擇“數據庫”文件,單擊鼠標右鍵,選擇“所有任務”/“附加數據庫”項,如圖2.14所示。圖2.14選擇附加數據庫(5)此時將打開“附加數據庫”窗口,單擊“…”按鈕,選擇SQLServer2000的“MSSQL”/“Data”目錄下的“”數據庫,如圖2.15所示。圖2.15選擇數據文件所在路徑(6)在“指定數據庫所有者”下拉列表框中選擇“sa”,然后單擊“確定”按鈕,數據庫便附加成功了。(7)單擊【確定】按鈕,彈出如圖2.16所示的提示框。圖2.16系統提示單擊【確定】按鈕,完成附加數據庫操作。4.4.3系統登陸
(1)雙擊人力資源管理系統圖標,系統自動運行人力資源管理系統自啟動界面(2)啟動界面運行后,彈出系統登錄界面,在“用戶名”處輸入“mr”,在“密碼”處輸入“mingrisoft”,圖3.2登錄服務器單擊“登錄”按鈕,即可以該操作員的身份進入人力資源管理系統。系統管理主要包括【單位信息】、【管理員設置】、【更改密碼】、【重新登錄】、【數據備份】、【數據恢復】、【退出系統】。5.總結通過這次課程設計,我明白學習是一個長期積累的過程,在以后的工作、生活中都應該不斷的學習,努力提高自己知識和綜合素質。在這次課程設計中也使我們的同學關系更進一步了,同學之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識,所以在這里非常感謝幫助我的同學。在設計過程中,我通過查閱大量有關資料,與同學交流經驗和自學,并向老師請教等方式,使自己學到了不少知識,也經歷了不少艱辛,但收獲同樣巨大。在整個設計中我懂得了許多東西,也培養了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學習工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創造過程中探索的艱難和成功時的喜悅。雖然這個設計做的也不太好,但是在設計過程中所學到的東西是這次課程設計的最大收獲和財富,使我終身受益。
參考文獻:1.JSP數據庫系統開發完全手冊人民郵電出版社2006年3月2.Delphi數據庫系統開發完全手冊人民郵電出版社2006年3月3.VisualBasic數據庫系統開發完全手冊人民郵電出版社2006年3月4.VisualC++數據庫系統開發完全手冊人民郵電出版社2006年3月5.JSP信息系統開發實例精選機械工業出版社王國輝、李南南等2005年7月6.VisualBasic信息系統開發實例精選機械工業出版社趙智勇、劉強等2005年7月7.SQLServer數據庫開發實例解析機械工業出版社宋昆、李嚴等2006年1月附錄主要代碼:《窗體設計代碼》procedureTfrm_main.FormClose(Sender:TObject;varAction:TCloseAction);beginifmessagebox(self.Handle,'真的要退出系統嗎?','人力資源管理系統',mb_yesno+mb_iconquestion)=idyesthenapplication.Terminate;end; 在窗體的OnShow事件增加,并當窗體首次啟動時動態創建登錄窗體,代碼如下:procedureTfrm_main.FormShow(Sender:TObject);beginlog:=0;//區分新員工登記窗體是為登記狀態還是修改狀態application.CreateForm(Tfrm_login,frm_login);//創建窗體frm_login.ShowModal;//顯示窗體frm_login.free;//釋放窗體end; 通過主菜單下【記事本】按鈕調用記事本,單擊事件代碼如下:procedureTfrm_main.N57Click(Sender:TObject);beginShellExecute(handle,'open','notepad.exe',Nil,Nil,SW_SHOWNORMAL);end; 【數據備份】按鈕的作用是通過保存對話框對數據庫進行備份,該按鈕的單擊事件代碼如下:procedureTfrm_main.SpeedButton4Click(Sender:TObject);varsave:string;beginsavedialog1.Filter:='備份文件(*.bak)|*.bak';//設置文件過濾savedialog1.Title:='請選擇備份路徑';//設置打開對話框的標題ifsavedialog1.Executethenbeginsave:=savedialog1.FileName;end;ifsave<>''thenbeginwithdata1.ADOpublicdobegintryscreen.Cursor:=crHourGlass;//改變鼠標指針的形狀為沙漏形close;sql.Clear;sql.Add('BACKUPDATABASE'+'db_manpowerinfo'+'TODISK='''+save+'''');execsql;screen.Cursor:=crdefault;//設置鼠標指針為默認狀application.MessageBox('數據備份成功','提示',0+64);exceptscreen.Cursor:=crdefault;application.MessageBox('數據庫備份失敗,請檢查備份的路徑或網絡狀態!','數據庫備份', 0+mb_iconinformation);end;end;end;end;《系統登陸代碼》 對進入人力資源管理系統的用戶進行安全檢驗,執行安全檢驗過程代碼如下: procedureTfrm_login.plogin;//自定義函數過程beginwithData1.ADOlogindobeginclose;sql.Clear;sql.Add('select*from操作員信息表where操作員名稱=:aand操作員密碼=:b'); //使用SQL語句檢索數據表中的用戶名和密碼parameters.ParamByName('a').Value:=trim(edit1.Text);parameters.ParamByName('b').Value:=trim(edit2.Text);open;end;ifData1.ADOlogin.RecordCount>0then//判斷用戶名和密碼是否存在begin//用戶名和密碼存在時執行以下代碼czy:=data1.ADOlogin.FieldByName('操作員名稱').Value;s:=true;//使s的值為true,以免重新登陸時出現錯誤frm_main.StatusBar1.Panels[1].Text:=czy;//在狀態欄上顯示當前用戶名frm_main.statusbar1.Panels[3].Text:=datetostr(date());frm_main.statusbar1.Panels[5].Text:=timetostr(time());close;endelse//用戶名和密碼不存在時執行以下代碼ifm<3then//限制密碼錯誤不能超過三資beginapplication.MessageBox('用戶名或密碼錯誤,請重新輸入!','提示',64);edit1.Clear;/清除編緝框中的內容edit2.Clear;edit1.SetFocus;endelse//當密碼錯誤三次時強行退出beginapplication.MessageBox('您無權使用本系統!','提示',64);Application.Terminate;end;end; 在【確定】按鈕的單擊事件中添加如下代碼:procedureTfrm_Login.Button1Click(Sender:TObject);beginm:=m+1;//記錄單擊的次數,用來判斷輸入錯誤的次數ifedit1.Text=''then//判斷是否輸入用戶名application.MessageBox('請輸入用戶名','提示',64)elseifedit2.Text=''then//判斷是否輸入密碼application.MessageBox('請輸入密碼','提示',64)elseplogin;//執行自定義函數end; 在Edti2的OnKeyDown事件中添加如下代碼,通過鍵盤操作獲得焦點:procedureTfrm_Login.Edit2KeyDown(Sender:TObject;varKey:Word;Shift:TShiftState);beginif((Key=vk_Return)or(Key=vk_Down))thenButton1Click(Sender)//當按下回鍵或時,按執行Button1的OnClick事件elseEdit2.SetFocus;ifKey=vk_UpthenEdit1.SetFocus;//當按下方向鍵↑時,使Edit1獲得焦點end;end;《新員工登記模塊代碼》 【添加照片】按鈕,主要是通過打開對話框在電腦中選擇員工的照片并添加在TImage組件的Pictuer屬性中,該按鈕的單擊事件代碼如下:procedureTfrm_xygdj.Button1Click(Sender:TObject);beginopendialog1.Title:='選擇照片';ifopendialog1.Executethenimage1.Picture.LoadFromFile(opendialog1.FileName);end; 在一個企業里,難免會有重名的員工,所以姓名不能做為員工的惟一標識,那么如果用員工編號來做惟一標識,就可以解決這個問題了。單擊【添加】按鈕自動生成員工編號。代碼如下:procedureTfrm_xygdj.BitBtn2Click(Sender:TObject);vars,m:string;n:integer;begins:='mr';//給s賦一個初值Withdata1.ADOpublicdobeginClose;SQL.Clear;SQL.Add('selectmax(bh)asssFrom人事表');//查詢數據庫中員工編號的最大值Open;end;Ifdata1.ADOpublic.FieldByName('ss').Value=nullthen//判斷查詢結果s:=s+'001'//結果為空說明數據庫為空,編號從001開始elsebeginm:=Trim(data1.ADOpublic.FieldByName('ss').Value);//將查找到的最從值賦給mn:=StrToInt(copy(m,4,2));//復制m的值并轉換成整數型數據賦給nifn<9thens:=s+'00'+InttoStr(n+1)elseifn<99thens:=s+'0'+InttoStr(n+1)elses:=s+InttoStr(n+1);end;edit1.Text:=s;end; 【保存】按鈕的功能主要是通過Insert語句向數據庫中添加數據,該按鈕的單擊事件代碼如下:procedureTfrm_xygdj.BitBtn1Click(Sender:TObject);begintrywithdata1.ADOQYygxxdobeginclose;sql.Clear;sql.Add('insert人事表values(:a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l,:m,:n,:o,:p,:q,:r,:s,:t,:u, :v,:w,:x,:y,:z,:aa,:ab,:ac,:ad,:ae,:af)');//向人事表中插入數據parameters.ParamByName('a').Value:=trim(edit1.Text);//插入編號parameters.ParamByName('b').Value:=trim(edit2.Text);//插入姓名parameters.ParamByName('c').Value:=trim(combobox8.Text);//插入性別parameters.ParamByName('d').Value:=trim(edit10.Text);//插入身份證號parameters.ParamByName('e').Value:=strtodate(maskedit3.Text);//生日parameters.ParamByName('f').Value:=trim(combobox1.Text);//插入民族parameters.ParamByName('g').Value:=trim(combobox7.Text);//插入婚姻狀況parameters.ParamByName('h').Value:=trim(combobox2.Text);//插入政治面貌parameters.ParamByName('i').Value:=trim(edit5.Text);//插入籍貫parameters.ParamByName('j').Value:=maskedit4.Text;//插入聯系電話parameters.ParamByName('k').Value:=trim(edit9.Text);//插入手機號碼parameters.ParamByName('l').Value:=trim(edit13.Text);//插入電子郵箱parameters.ParamByName('m').Value:=trim(edit12.Text);//插入家庭地址parameters.ParamByName('n').Value:=trim(edit6.Text);//插入畢業院校parameters.ParamByName('o').Value:=trim(edit7.Text);//插入專業parameters.ParamByName('p').Value:=trim(combobox9.Text);//插入文化程度parameters.ParamByName('q').Value:=trim(edit8.Text);//插入特長parameters.ParamByName('r').Value:=trim(maskedit5.Text);//參加工作時間parameters.ParamByName('s').Value:=i;//插入工齡parameters.ParamByName('t').Assign(image1.Picture.Bitmap);/插入照片parameters.ParamByName('u').Value:=trim(combobox4.Text);//插入所屬部門parameters.ParamByName('v').Value:=trim(combobox3.Text);//插入工種parameters.ParamByName('w').Value:=trim(combobox5.Text);//插入職務parameters.ParamByName('x').Value:=trim(combobox6.Text);//插入職稱parameters.ParamByName('y').Value:=strtodate(maskedit1.Text);//調入時間parameters.ParamByName('z').Value:=memo1.Text;//插入簡歷parameters.ParamByName('aa').Value:=strtodate(maskedit2.Text);//登記日期parameters.ParamByName('ab').Value:=trim(edit16.Text);//插入登記人parameters.ParamByName('ac').Value:='否';//插入是否離職parameters.ParamByName('ad').Value:=null;//離職日期parameters.ParamByName('ae').Value:=null;//復職日期parameters.ParamByName('af').Value:=null;//離職復員登記人execsqlend;editclear;//執行自定義的清除函數application.MessageBox('保存成功!','提示',64);exceptapplication.MessageBox('系統出錯!','提示',64);end;end; 【修改】按鈕的功能主要是對當前數據做出修改,該按鈕的單擊事件代碼如下:procedureTfrm_xygdj.BitBtn5Click(Sender:TObject);beginifmessagebox(self.Handle,'確定要修改嗎?','提示',mb_yesno+mb_iconquestion)=idyesthenbegintrywithdata1.ADOQuery1dobeginedit;fieldbyname('bh').Value:=trim(edit1.Text);fieldbyname('xm').Value:=trim(edit2.Text);fieldbyname('mz').Value:=trim(combobox1.Text);fieldbyname('xb').Value:=trim(combobox8.Text);fieldbyname('csrq').Value:=trim(maskedit3.Text);fieldbyname('hyzk').Value:=trim(combobox7.Text);fieldbyname('whcd').Value:=trim(combobox9.Text);fieldbyname('zzmm').Value:=trim(combobox2.Text);fieldbyname('byyx').Value:=trim(edit6.Text);fieldbyname('zy').Value:=trim(edit7.Text);fieldbyname('tc').Value:=trim(edit8.Text);fieldbyname('dzyx').Value:=trim(edit13.Text);fieldbyname('lxdh').Value:=trim(maskedit4.Text);fieldbyname('sjhm').Value:=trim(edit9.Text);fieldbyname('jg').Value:=trim(edit5.Text);fieldbyname('sfzh').Value:=trim(edit10.Text);fieldbyname('jtdz').Value:=trim(edit12.Text);fieldbyname('cjgzsj').Value:=trim(maskedit5.Text);fieldbyname('gz').Value:=trim(combobox3.Text);fieldbyname('gl').Value:=trim(edit15.Text);fieldbyname('ssbm').Value:=trim(combobox4.Text);fieldbyname('zw').Value:=trim(combobox5.Text);fieldbyname('zc').Value:=trim(combobox6.Text);fieldbyname('djrq').Value:=trim(maskedit2.Text);fieldbyname('djr').Value:=trim(edit16.Text);fieldbyname('drsj').Value:=trim(maskedit1.Text);fieldbyname('jl').Value:=trim(memo1.Text);fieldbyname('zp').Assign(image1.Picture.Bitmap);post;end;application.MessageBox('修改成功','提示',64);exceptapplication.MessageBox('修改失敗','提示',64);end;close;end;end; 在編輯框的OnChange事件中添加如下代碼,用來控制保存按鈕的使用,如果沒有完全填寫信息,【保存】按鈕不可用。procedureTfrm_xygdj.Edit1Change(Sender:TObject);beginif(edit1.Text<>'')and(edit2.Text<>'')and(edit5.Text<>'')and(edit6.Text<>'')and(edit7.Text<>'')and(edit8.Text<>'')and(edit9.Text<>'')and(edit10.Text<>'')and(edit12.Text<>'')and(edit13.Text<>'')and(edit15.Text<>'')and(edit16.Text<>'')and(combobox1.Text<>'')and(combobox2.Text<>'')and(combobox3.Text<>'')and(combobox4.Text<>'')and(combobox5.Text<>'')and(combobox6.Text<>'')and(combobox7.Text<>'')and(combobox8.Text<>'')and(combobox9.Text<>'')and(combobox1.Text<>'')and(maskedit1.Text<>'')and(maskedit2.Text<>'')and(maskedit3.Text<>'')and(maskedit4.Text<>'')and(maskedit5.Text<>'')thenbitbtn1.Enabled:=trueelsebitbtn1.Enabled:=false;end; 在窗體的OnCreate
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南吉利汽車職業技術學院《機械電子系統設計》2023-2024學年第二學期期末試卷
- 海南醫學院《幼兒舞蹈創編2》2023-2024學年第一學期期末試卷
- 凱里學院《游釣漁業學》2023-2024學年第二學期期末試卷
- 四川機電職業技術學院《英美文化概況》2023-2024學年第一學期期末試卷
- 2025租房合同協議書范本格式
- 山西省臨汾同盛實驗中學2024-2025學年高三5月第二次月考試題(歷史試題理)含解析
- 山東女子學院《朝鮮語語言學概論Ⅱ》2023-2024學年第二學期期末試卷
- 哈爾濱工業大學《英語閱讀3》2023-2024學年第一學期期末試卷
- 渭南師范學院《地籍與房產測繪》2023-2024學年第二學期期末試卷
- 蘇州工業職業技術學院《中國音樂史學與文獻》2023-2024學年第二學期期末試卷
- DB14∕T 2163-2020 信息化項目軟件運維費用測算指南
- 交換機調試報告范文
- 建筑施工安全技術操作規程
- 口服抗凝藥居家管理中國專家共識(2024版)
- 【衛龍食品公司內部控制現狀問題及優化的案例分析7100字(論文)】
- 遺傳的分子基礎(遺傳學基礎課件)
- DL∕T 860.10-2018 電力自動化通信網絡和系統 第10部分:一致性測試
- DB52-T 1666-2022 公路瓦斯隧道技術規范
- 法律法規題庫題庫附答案(精練)
- 第8課《建設法治中國》第1框《科學立法嚴格執法公正司法全民守法》-【中職專用】《職業道德與法治》同步課堂課件
- 三維后裝的護理
評論
0/150
提交評論