



版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、課程設計企業(yè)人事管理信息系統(tǒng)Visual Basic +SQL Server信息管理系統(tǒng)一、引言1.1 開發(fā)背景1現(xiàn)行業(yè)務簡介企業(yè)的人事管理業(yè)務大致經(jīng)過如下的管理流程:(1) 新職員入公司后,經(jīng)人事部門的專門人員將新職員的基本信息進行記錄,包括職員的家庭信息和工作、教育經(jīng)歷信息,生成人事檔案。(2) 如果新職員尚未分配部門,那么他每個工作日的工作表現(xiàn)由人事處統(tǒng)一管理,直到該職員分配部門為止,再歸屬該部門的部門領導管理。(3) 由專門的人員管理出勤信息,并按月進行匯總(4) 每個月的月底或月初, 由該職員的直接領導對其進行考核, 填寫職員考核表, 包括職員的工作業(yè)績和獎懲記錄。(5) 每個月的月
2、初, 職員考核表與考勤匯總信息上交給人事部門最高管理者,作為年終考核職員的依據(jù),同時根據(jù)這些信息和工資項目,填寫工資表,并將工資表送到財務部門。2系統(tǒng)開發(fā)背景隨著全球經(jīng)濟一體化的進程,人事管理日趨復雜,人力資源成了現(xiàn)代企業(yè)生存和發(fā)展的重要因素。企業(yè)人事部門傳統(tǒng)的檔案手工管理繁瑣、效率低下而且容易出錯,已經(jīng)無法適應現(xiàn)代企業(yè)日益龐大的人力資源隊伍的管理需求。同時,隨著計算機技術的迅猛發(fā)展,辦公自動化成為現(xiàn)實,利用計算機實現(xiàn)企業(yè)人事管理勢在必行。企業(yè)人事管理信息系統(tǒng)綜合運用人事管理相關領域的知識,結合計算機技術,科學地管理企業(yè)的人事檔案、績效考核等信息,具有檢索迅速、操作方便、存儲量大、保密性高、成
3、本低等特點,可以大大地提高工作效率;同時,可以引導企業(yè)按照科學的管理理念對人力資源進行規(guī)范化的管理。1.2 目標本系統(tǒng)以一個中小型企業(yè)的人事管理業(yè)務為依托,結合人力資源管理理論,設計并開發(fā)一個企業(yè)人事管理信息系統(tǒng),提供一個以人為本、科學合理的人事管理解決方案。針對企業(yè)不同管理層的職員,在人事管理的各個方面,提供了一個互動式的人事管理平臺。系統(tǒng)目標如下:(1) 尊重傳統(tǒng)的企業(yè)人事管理制度和文化, 滿足企業(yè)不同管理層的職員和企業(yè)普通職員對人事管理內(nèi)容的不同需求。(2) 通過人事管理系統(tǒng)的實現(xiàn),使企業(yè)的人事管理更加科學化。(3) 提供靈活、方便的操作。(4) 節(jié)約人事管理的成本,提高企業(yè)人事管理的效
4、率。(5) 對系統(tǒng)提供必要的權限管理。(6) 為企業(yè)實現(xiàn)整體信息化的其他相關系統(tǒng)提供必要的數(shù)據(jù)支持。二、需求分析系統(tǒng)需求在中小型企業(yè), 人事部門傳統(tǒng)的手工管理主要包括人事檔案管理、職員的考勤記錄、 考勤數(shù)據(jù)統(tǒng)計、績效考評以及原始工資核算。其中,考勤管理對實時性要求較高,工資管理涉及到財務部門,而且業(yè)務比較復雜,在人事管理信息化的過程中,一般作為兩個單獨的系統(tǒng) 考勤管理系統(tǒng)和工資管理系統(tǒng)來實現(xiàn)(目前一般的財務系統(tǒng)也包含了工資管理的功能) 。本系統(tǒng)不包含考勤管理和工資管理的詳細業(yè)務,只提供考勤信息的查詢,為工資管理系統(tǒng)提供必要的數(shù)據(jù)支持。綜上所述,企業(yè)人事管理信息系統(tǒng)應該滿足以下需求:(1) 業(yè)務
5、上滿足企業(yè)人事管理職能的基本需求,能夠方便地進行部門管理、職員管理和考評管理。1(2) 為考勤管理系統(tǒng)和工資管理系統(tǒng)提供數(shù)據(jù)支持。(3) 與傳統(tǒng)的手工管理相比,要添加基礎數(shù)據(jù)的管理和用戶權限的設置。(4) 所有的界面都要有信息的瀏覽功能,同時要保障數(shù)據(jù)的安全、可靠。(5) 完善的報表功能,可以打印需要的報表。功能需求根據(jù)系統(tǒng)的需求分析,本系統(tǒng)的功能要求如下:1系統(tǒng)管理系統(tǒng)管理的功能是管理登錄系繞的用戶。進行用戶權限設置,在權限范圍內(nèi)可以進行用戶的添加、刪除和修改,包括用戶密碼和用戶權限的更改。2基礎數(shù)據(jù)管理基礎數(shù)據(jù)管理的功能是設置和管理職務、民族和文化程度數(shù)據(jù),用來使系統(tǒng)的其它界面的一些操作更
6、加方便。在權限范圍內(nèi)可以進行基礎數(shù)據(jù)的添加、刪除和修改。3部門信息管理部門信息管理的功能是設置和管理部門信息。在權限范圍內(nèi)可以進行數(shù)據(jù)的添加、刪除和修改。4, 職員信息管理職員信息管理的功能是設置和管理職員檔案信息,包括職員基本信息管理、家庭成員信息管理、工作教育經(jīng)歷信息管理。業(yè)務流程源于手工管理階段的人事檔案,同時可以生成職員詹息清單供打印。用戶在權限范圍內(nèi)可以進行數(shù)據(jù)的添加、刪除和修改。5考勤信息查詢考勤信息查詢的功能是提供給用戶考勤統(tǒng)計值。 所有系統(tǒng)用戶均可以按照時間和部門查詢?nèi)靠记谛畔ⅲ@樣使管理更加透明化。6考評信息管理考評信息管理的功能是進行職員的工作績效考評,同時將數(shù)據(jù)作為工資
7、管理系統(tǒng)的某些工資項目的計算依據(jù)。系統(tǒng)用戶在權限范圍內(nèi)可以進行數(shù)據(jù)的添加、刪除和修改。7 幫助顯示系統(tǒng)的開發(fā)版本和系統(tǒng)說明信息。2.3 性能需求系統(tǒng)的運行對運行環(huán)境的要求:1 硬件環(huán)境處理器: Intel Pentium 4 3.06G或更高內(nèi)存: 512 MB( 推薦 )硬盤空間: 40 GB顯卡: SVGA 顯示適配器2 軟件環(huán)境操作系統(tǒng): Windows 2000/XP數(shù)據(jù)庫: Microsoft SQL Server 2000三、總體設計3.1 系統(tǒng)概述本系統(tǒng)采用客戶機服務器的運行方式,針對中小型企業(yè)的人事管理業(yè)務,同時考慮到開發(fā)成本和安全性的問題,本系統(tǒng)設計成為一個相對封閉的單用戶運
8、行系統(tǒng)。采用Visual Basic6,0作為開發(fā)工具,采用 Microsoft SQL Server 2000作為后臺數(shù)據(jù)庫,一般可以滿足中小企業(yè)人事管理業(yè)務的需求。系統(tǒng)的基本流程是:用戶登錄一系統(tǒng)主控平臺一選擇各項子系統(tǒng)。3.2 系統(tǒng)模塊“企業(yè)人事管理信息系統(tǒng)”主要分為登錄、系統(tǒng)管理、基礎數(shù)據(jù)管理、部門信息管理、職員信息管理、考勤信息查詢、考評信息管理和幫助信息,共8 個模塊。系統(tǒng)主模塊層次圖如圖2-1 所示:2企業(yè)人事管理信息系統(tǒng)登系基理詢詢部職考考幫錄統(tǒng)礎門工勤評助管信信信信信理息息息息息管管理理管查查圖 1 系統(tǒng)功能圖3.3 模塊設計1登錄模塊輸入用戶名和密碼,如果用戶名和密碼正確,
9、進入主控制平臺;否則提示用戶明確的錯誤信息。2系統(tǒng)管理模塊(1) 用戶管理子模塊: 系統(tǒng)管理員進行用戶權限設置和用戶的瀏覽, 可以更改用戶密碼和用戶權限;同時,為保障系統(tǒng)健壯,進行輸入檢驗,給予必要的信息提示。(2) 修改密碼子模塊:任何用戶登錄后都可以修改自己的密碼。3基礎數(shù)據(jù)管理模塊系統(tǒng)管理員瀏覽職務、民族和文化程度的編號和名稱,可以對這些信息進行添加、刪除和修改,普通用戶不可以使用該功能。4部門信息管理模塊系統(tǒng)管理員和人力資源的主管可以進行數(shù)據(jù)的添加、刪除和修改。普通用戶只能瀏覽信息。5職員信息管理模塊(1) 職員信息管理子模塊:可以設置和查看某個職員的家庭成員、工作教育經(jīng)歷,可以進行條
10、件查詢。系統(tǒng)管理員和人力資源主管可以進行數(shù)據(jù)的添加、刪除和修改,普通用戶可以修改自己的家庭成員、工作教育經(jīng)歷信息。(2) 報表子模塊:可提供職員基本信息、職員就職信息和職員通訊錄報表。6考勤信息查詢模塊該模塊使用考勤管理信息系統(tǒng)的數(shù)據(jù),所有用戶可以進行條件查詢,但提供更新考勤信息的功能。7考評信息管理模塊人力資源主管根據(jù)職貫的工作表現(xiàn)對數(shù)據(jù)進行更新,其他用戶只能按照時間和姓名進行查詢。8幫助信息模塊顯示系統(tǒng)的開發(fā)版本和系統(tǒng)說明信息。基礎數(shù)據(jù)錄入基礎數(shù)據(jù)管理基礎數(shù)據(jù)入庫部門數(shù)據(jù)錄入部門數(shù)據(jù)管理部門數(shù)據(jù)入庫數(shù)據(jù)庫職工數(shù)據(jù)錄入職工信息管理職工數(shù)據(jù)入庫數(shù)據(jù)查詢考勤管理系統(tǒng)導入考勤數(shù)據(jù)考勤數(shù)據(jù)入庫考評數(shù)
11、據(jù)錄入考證信息管理考證數(shù)據(jù)入庫報表輸出圖 2系統(tǒng) IPO 圖3四、數(shù)據(jù)庫設計4.1 關于應用程序和數(shù)據(jù)庫的接口本系統(tǒng)采用ODBC+ ADO對象訪問數(shù)據(jù)庫。ODBC(Open Database Connectivity)是用于數(shù)據(jù)庫訪問的、應用最為廣泛的應用程序編程接口,它允許應用程序使用相同的代碼訪問不同的數(shù)據(jù)庫管理系統(tǒng);VB 6.0中, ADODB對象 (Active Data Object)是一種提供訪問各種數(shù)據(jù)庫的連接機制,它使用OLEDB數(shù)據(jù)支持提供一個面向?qū)ο蟮脑L問數(shù)據(jù)源的接口,內(nèi)置了連接類、命令類和數(shù)據(jù)集類。在 Visual Basic 6.0的工程中,選擇菜單“工程/ 引用”命令
12、, 彈出“引用工程” 對話框, 在對話框的 “可用的引用”中選擇“ Microsoft Active Data Object 2.7 Library”選項,單擊“確定” 按鈕,這樣就在程序中加入了對 ADO 的引用,如圖 3 所示。4.2 數(shù)據(jù)庫根據(jù)系統(tǒng)分析和模塊設計, 本系統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)項和數(shù)據(jù)結構如下:1數(shù)據(jù)庫(1) 數(shù)據(jù)庫名稱:人事信息庫。(2) 標識(數(shù)據(jù)庫名) : DBMan2數(shù)據(jù)庫表結構關系型如下:用戶(用戶名,密碼,用戶類型)職務編碼 (職務 ID ,職務名)民族編碼 (民族 ID ,民族名稱)文化程度編碼 (文化程度ID ,文化程度名稱)部門(部門 ID,部門名稱,描述)圖 3
13、 “引用工程 ”對話框職工(職工 ID ,姓名,性別,出生日期,民族,政治面貌,婚姻狀況,部門號,入職時間,文化程度,籍貫,身份證號,電子郵箱,辦公電話,家庭電話,手機號,身份性別,居住地址,郵政編碼,檔案編號,戶口地,信息錄入員號)家庭成員 (成員 ID ,職工 ID ,姓名,性別,出生日期,與職工關系,所在單位,聯(lián)系電話)職工經(jīng)歷 ( ID ,職工號,開始日期,結束日期,工作或就讀單位,職務,學歷,經(jīng)因與獎懲)考勤(年份,月份,職工號,部門號,全勤日數(shù),請假天數(shù),曠工天數(shù),申請休假天數(shù),出差天數(shù),遲到次數(shù),早退次數(shù),加班天數(shù),周末加班天數(shù),節(jié)假日加班天數(shù))考評(年份,月份,職工號,工作難度
14、系數(shù),工作量記錄,工作評價)家庭部門經(jīng)歷擁有屬于具有職工成為獲得接受用戶考評考勤圖 4系統(tǒng) E-R 圖4表 1表名:用戶信息表(標識:tbUser )。數(shù)據(jù)來源:用戶管理模塊的錄入。字段名主鍵否類型長度可空否備注LTserld是nChar(10)否用戶名UserPassword否nChar(8)否用戶密碼uSerKind否nVarchar(20)否用戶類型 : 普通用戶 , 人力資源管理者, 系統(tǒng)管理員表 2表名:職務編碼信息表(標識:tbDuty )數(shù)據(jù)來源:基礎數(shù)據(jù)管理模塊的錄入。字段名是否主鍵字段類型字段長度可空否備注Dutyld是nchar10否職務編碼DutyName否nvarcha
15、r20否職務名稱職工表 3表名:民族編碼信息表(標識:tbNation )數(shù)據(jù)來源:基礎數(shù)據(jù)管理模塊的錄入。字段名是否主鍵字段類型字段長度可空否備注Nationld是nchar3否民族編碼NationName否nvarchar20否民族名稱表 4表名:文化程度編碼信息表(標識: tbEdu)數(shù)據(jù)來源:基礎數(shù)據(jù)管理模塊的錄入。字段名是否主鍵字段類型字段長度可空否備注Eduld是nchar2否文化程度編碼EduName否nvarchar20杳文化程度名稱表 5表名:部門信息表(標識:tbDep )。數(shù)據(jù)來源:部門信息管理模塊的錄入。字段名是否主鍵字段類型字段長度可空空備注Depld是nchar10
16、否部門編號DepName否nvarchar30否部門名稱Describe否nvarchai100是部門職能描述說明:部門編號前兩位代表一級部門,3.4 ,位代表二級部門,5.6 位代表三級部門, 7.8 位備用表 6 表名:職員家庭信息表(標識:tbFamilyMember )。數(shù)據(jù)來源:職員家庭信息管理模塊的錄入。字段名是否主鍵字段類型字段長度可空否備注Id是nchar10否家庭成員編號Empld否nchar10否職員編號Name否nvarchar30否家庭成員姓名Gender否nchar2是家庭成員性別Age否int4是家庭成員年齡Relationship否nvarchar20是與本人關系
17、WorkingOrg否nvarchar50是所在單位Tel否nvarchar20是聯(lián)系電話5表 7表名:職員基本信息表(標識:tbEmployee )數(shù)據(jù)來源:職員基本信息管理模塊的錄入。字段名是否主鍵字段類型字段長度可空否備注Empld是nchar10否職員編號EmpName否nvarchar10否職員姓名Gender否nchar2是性別Age否int4是年齡Nationld否nchar3是民族編號Birthday否datetime8是生日PoliticalParty否nvarchar10是政治面貌MaritalCon否nvarchar6是婚姻狀況Depld否nchar10是所在部門編號Hi
18、reDate否datetime8是人職時間Eduld否nchar2是文化程度編號FarrulyPlace否nvarchar20是籍貫IdCard否nvarchar20否身份證號Email否nvarchar20是電子郵箱Officephone否nvarchar20是辦公電話Homephone否nvarchar20是家庭電話Mobile否 rnvarcha20是手機號碼State否nvarchar20否人員身份Residence否nvarchar50是居住地址Postcode否nvarchar10是郵政編碼Dutyld否nchar10是職務編號Recorld否nchar10是檔案編號PRLocat
19、ion否varchar50是戶口所在地EmpldRecord否nchar10是信息錄入員編號說明:人員身份分在職人員;兼職人員;試用人員;離職人員;返聘人員表 8表名:職員工作教育經(jīng)歷表(標識:tbWorkExp )。數(shù)據(jù)來源:職員工作傲育經(jīng)歷信息管理模塊的錄入。字段名是否主鍵字段類型長度可空否備注Id是nchar10否編號Empld否nchar10否職員編號StartDate否datetime8是開始日期EndDate否datetime8是終止日期WorkOrg否nvarchar50是工作單位僦讀單位Position否nchar10是職務Eduld否nchar2是學歷WorkDescri否n
20、varchar300是工作描述獎懲經(jīng)歷表 9表名:職員考勤信息表(標識:tbWorkRecord )。數(shù)據(jù)來源:考勤信息管理系統(tǒng)中的數(shù)據(jù)導入本系統(tǒng)。6字段名是否主鍵字段類型字段長度可空否備注RecordYear是nchar4否考勤年份RecordMonth是nchar2否考勤月份Empld是nchar8否職員編號Depld否nchar10是部門編號DaysPresiMonth否int4是當月勤天數(shù)LeavdDays否int4是請假天數(shù)AbsentDays否int4是曠工天數(shù)VacDays否int4是申請休假天ErrandDays否int4是出差天數(shù)LateDays否int4是遲到天數(shù)Leave
21、EarlyDays否int4是早退天數(shù)OtlDays否int4是工作日加班天數(shù)Ot2Days否int4是周末加班天數(shù)Ot3Days否int4是節(jié)假日加班天數(shù)(10) 表名:職員考評信息表(見表2-10 )。標識: tbEvaluation 。數(shù)據(jù)來源:職員考評信息管理模塊的錄入。字段名是否主鍵字段類型字段長度可空否備注EvaYear是nchar4否考評年份EvaMonth是nchar2否考評月份Empld是nchar10否職員編號WorkCoe否int4是工作難度系數(shù)WorkDes否nvarchar400是工作量記錄WorkEva否nvarchar300是工作評價3,數(shù)據(jù)庫的建立在 SQLSe
22、rver 里創(chuàng)建數(shù)據(jù)庫有裉多種方法,這里采用soL 語句來創(chuàng)建數(shù)據(jù)庫。打開soL Server的查詢分析器,選擇本地服務器,連接到soL Server數(shù)據(jù)庫,登錄名和密碼均為sa 。將 SQL 語句復制在查詢分析器里,然后執(zhí)行soL 語句。 SQL 語句由如下兩層結構構成:(1) 創(chuàng)建新數(shù)據(jù)庫。CREATE DATABASE人事管理-建立 “人事管理 ”數(shù)據(jù)庫ON PRIMARY/* 主文件組 */( NAME = 'DBRS_DATA1' ,FILENAME ='g:SQLRSDATARS_DATA1.mdf',SIZE =3, MAXSIZE=200,FIl
23、EGROWTH= 500KB ),FILEGROUPDATA2/* 輔文件組 */( NAME ='JXGL_DATA2',FILENAME ='G:SQLRSDATARS_DATA2.ndf',SIZE =1, MAXSIZE= 100 , FILEGROWTH= 500KB )LOG ON/* 日志文件不在文件組中*/( NAME = 'JXGL_Log1' ,FILENAME = 'G:SQLRSRS_Log1.Ldf',SIZE = 1MB ,MAXSIZE= 100MB ,FILEGROWTH= 500KB )GO7CR
24、EATE TABLE dbo .userA (-建立 “用戶 ”表的結構userIDnchar (10) NOT NULL ,UserPasswordnchar (8) NOT NULL ,UserKindnchar (20 ) NOT NULLCONSTRAINTPK_UserPRIMARY KEY (UserID )GOCREATE TABLE dbo . DutyCod(-建立 “職工編碼 ”表的結構DutyIDnchar (10) NOT NULL ,DutyNamenchar (20) NOT NULL ,CONSTRAINTPK_DutyCodPRIMARYKEY (DutyID
25、)GOCREATE TABLE dbo . NationCod(-建立 “民族編碼 ”表的結構NationIDnchar (10 ) NOT NULL ,NationNamenchar (20) NOT NULL ,CONSTRAINTPK_NationCodPRIMARYKEY(NationID )GOCREATE TABLE dbo . EduCod (-建立 “民族編碼 ”表的結構EduIDnchar (10) NOT NULL ,EduNamenchar (20 ) NOT NULL ,CONSTRAINTPK_EduCodPRIMARYKEY (EduID )GOCREATE TAB
26、LE dbo . DepInfo (-建立 “部門信息 ”表的結構DepIDnchar (10) NOT NULL ,DepNamenchar (20) NOT NULL ,Describe nvarchar (100 )CONSTRAINTPK_DepInfoPRIMARY KEY (DepID )GOCREATE TABLE dbo .tbEmployee(-6. 建立 “職工信息 ”表的結構EmpId nchar (10) NOT NULL ,EmpNamenvarchar (20 )NOT NULL ,Sexnchar (2),NationNamechar (3),Birthdayda
27、tetime ,PoliticalPartyvarchar (20 ),MaritalConnchar (6),8Depldnchar (8),HireDatedatetime ,Eduldnchar (10),FarrulyPlacenvarchar (20),IdCard nvarchar (20),Email nvarchar (30 ),Officephonenvarchar (20),Homephonenvarchar (20),Mobile nvarchar (20),Statenvarchar (20 ),Residencenvarchar (50),Postcode nvarc
28、har (10 ),Dutynchar (12 ),Recorldnchar (10 ),PRLocationnvarchar (10)CONSTRAINTPK_tbEmployeePRIMARY KEY (EmpID )GOCREATETABLE dbo . tbFamilyMember(-7. 建立 “職工家庭信息 ”表的結構MemberIDnchar (10 )NOT NULL ,EmpIDnchar (10)NOT NULL,Namenvarchar (20 ) NOT NULL ,Sexnchar (2)NOT NULL ,Ageint ,Relationshipnvarchar (
29、20),WorkingOrgnvarchar (50 ),Tel nvarchar (20 )CONSTRAINTPK_tbFamilyMemberPRIMARY KEY (MemberID )GOCREATETABLE dbo . tbWorkExp(-8. 建立 “職工經(jīng)歷 ”表的結構Id nchar (10 )NOT NULL,Empldnchar (10)NOT NULL ,StartDatedatetime ,EndDatedatetime ,WorkOrgnvarchar (50),Positionnchar (10),Eduld nchar (2),orkDescrinvarch
30、ar (300 )CONSTRAINTPK_tbWorkExpPRIMARYKEY (ID )GO9CREATE TABLE dbo . tbWorkRecord(-9. 建立 “職工考勤 ”表的結構RecordYearnchar (4)NOT NULL ,RecordMonthnchar (2)NOT NULL ,EmpIdnchar (10 )NOT NULL ,DepIdnchar (10 )NOT NULL ,DaysPresiMonthint ,LeavdDaysint ,AbsentDaysint ,VacDaysint ,ErrandDaysint ,LateDaysint ,L
31、eaveEarlyDaysint ,OtlDaysint,Ot2Daysint,Ot3DaysintCONSTRAINTPK_tbWorkRecordPRIMARY KEY (RecordYear , RecordMonth ,EmpId )GOCREATE TABLE dbo . tbEvaluation(-10. 建立 “職工考評 ”表的結構EvaYear nchar (4),EvaMonthnchar (2)NOT NULL ,EmpIdnchar (10 )NOT NULL ,WorkCoe int ,WorkDesnvarchar (400 ),WorkEva nvarchar (3
32、00 )CONSTRAINTPK_bEvaluationPRIMARY KEY (EvaYear , EvaMonth ,EmpId )GO五、關于程序設計的簡要說明對于程序設計,總體要求程序結構清晰,簡單易懂;不隨便定義全局變量,盡量使用局部變量;禁止出現(xiàn) GOTO 、ELSE GOTO 和 ELSE RETURN 語句;禁止出現(xiàn)兩條等價的支路等。1窗體界面設計(1) 窗體界面要清晰,控件的設計要便于用戶使用。例如,能夠確定輸入值范圍的地方盡量使用下拉列表框,讓用戶選擇輸入而不要使用文本框;同時注意保持所有的界面風格一致:(2) 本系統(tǒng)選用 DataGrid 控件來顯示數(shù)據(jù), 為了保證系統(tǒng)根
33、據(jù)不同的用戶提供靈活的操作并保證系統(tǒng)的安全性,不直接使用 DataGrid 來更新數(shù)據(jù),而選用 TextBox 。(3) 各個窗體的 BorderStyle 屬性均設置為 1- Fixed Single (即確定大?。?。2Option Explicit在書寫所有模塊和窗體的任何函數(shù)代碼之前都要添加Option Explicit語句,用來強制要求使用Dim 、Private 、 Public 或 ReDim 語句顯式聲明該腳本中所使用的所有變量,使程序設計更加規(guī)范。3可重用性要求(1) 盡量使用小規(guī)模函數(shù),將功能復雜的大規(guī)模函數(shù)進行分解。(2) 重復使用且完成相對獨立功能的代碼寫成公共函數(shù)。1
34、0(3) 創(chuàng)建一個系統(tǒng)模塊,用來定義公共變量和書寫公共函數(shù)。(4) 盡量使用標準庫函數(shù)和公共函數(shù)。4命名規(guī)則(1) 循環(huán)變量、開關變量名稱要盡可能的簡單。(2) 常量、變量和函數(shù)名一般采用其英文表意單詞或其縮寫。(3) 常量一般用大寫字母, 變量名稱如果由多個單詞組成, 則每個單詞的首字母大寫; 全局變量要在變量名最前面如英文字母 g 。(4) 控件命名使用控件類型縮寫 +控件用途的命名方式。程序中涉及到的控件類型縮寫如下:控件類型縮寫控件類型名控件類型縮寫控件類型名cbo/ComboCombol30xDataEnvirnDataEnviromentchkCheckboxtrvTreeView
35、cmdCommandbuttontxtTextboxfrmFormst/StatusBarStatusBarmsfMSHFlexGrid/FlexGridrptDataReportdgDataGridpicPicturelblLabeloptOptionbuttonModuleModulemenuMenu5書寫格式(1) 定義的代碼塊應該放在一起,盡量不要在中間定義變量。(2) 對象的定義應該盡可能地帶上所屬的庫名稱,例如,string 類型變量一般前綴為str。(3) 縮進。1) 變量聲明塊不縮進。2) 對于基本的控制結構要有縮進。3) 對于過長的語句使用續(xù)行。例如:。 sql = sql
36、+ " from XXXXXX"6容錯處理對于所有的更新操作,在更新數(shù)據(jù)庫前都要進行輸入值的合法性檢驗,包括輸入數(shù)值類型、長度等的檢驗,以免更新數(shù)據(jù)庫時在業(yè)務上和數(shù)據(jù)庫處理上發(fā)生不必要的錯誤;對于錯誤的輸入,給予信息提示并改變背景色,用來明確地向用戶提示錯誤輸入的位置;當控件內(nèi)容改變時,背景恢復原色。7添加注釋添加注釋是程序可讀性的一個基本要求,但不宜過多,但要針對程序,使別人能夠輕而易舉地讀懂程序。一般在典型和特殊算法前都要有注釋。注釋的作用范圍可以為:定義、引用、條件分支和一段代碼。對于顯而易見的參數(shù)或函數(shù)功能一般不加注釋。8程序設計部分書寫說明一些事件和函數(shù)的程序設計
37、同本系統(tǒng)其他模塊類似, 且處理比較簡單, 在程序設計部分的書寫省略其實現(xiàn)代碼;模塊的窗體公共變量若無特殊要求,書寫時均省略。六、詳細設計6.1 系統(tǒng)項目文件和公共文件系統(tǒng)模塊中定義一些公共變量和公共函數(shù),減少整個程序的代碼量并簡化程序的修改工作。系統(tǒng)模塊中包括Main 函數(shù)。系統(tǒng)模塊的實現(xiàn)如下:1主體框架新建一個VB 的標準 EXE 工程,建立系統(tǒng)的主體框架。2添加模塊添加模塊,并將其命名為ModulePeople-bas113系統(tǒng)公共變量定義:表 11 系統(tǒng)公共變量定義變量名稱變量類型說明gUserNameString用戶名,用來顯示狀態(tài)信息gUserKindString用戶類型,用來設定用
38、戶權限gEmployeeldString職員編號gLoginSucceededBoolean登錄成功的標志BLUEConst (常量)值為: &HFFOOOOO,藍色WHITEConst (常量)值為: &H80000005,白色4Main 函數(shù)系統(tǒng)啟動函數(shù)。處理流程:以對話框模式啟動登錄窗體,如果啟動失敗,給出提示信息。Sub Main()Dim fLogin As New frmLogin,啟動登錄窗體fLogin. Show vbModal,裝入并顯示模式窗體If Not gLoginSucceeded ThenMsgBox”系統(tǒng)啟動失敗,請重試!”, vbOKOnly+
39、vbExclamation,”警告 ”End IfUnload fLoginEnd Sub5ConnectString函數(shù)設置數(shù)據(jù)庫連接字符串函數(shù),本函數(shù)無參數(shù),返回值為數(shù)據(jù)庫連接字符串(本系統(tǒng)數(shù)據(jù)庫用戶名和密碼設置為sa) 。Public Function ConnectString() As StringConnectString=”FileDSN= DBMan_ODBC ; UID= sa; PWD=sa”End Function6ExecuteSQL函數(shù)設置 SQL 語句的執(zhí)行函數(shù),參數(shù)為將要執(zhí)行的SQL 語句, ADO 數(shù)據(jù)集 rst 和是否允許數(shù)據(jù)集更新的布爾型變量。處理流程:創(chuàng)建
40、到數(shù)據(jù)源的連接,根據(jù)布爾型變量的實參值,確定執(zhí)行SQL 語句的方式并執(zhí)行SQL 語句。如果SQL 語句成功執(zhí)行,返回值為true ,結果存儲于與形參數(shù)據(jù)集rst 相對應的實參數(shù)據(jù)集內(nèi);否則,返回值為false 。Public Function ExecuteSQL(ByVal SQL As String,rst As ADODB.Recordset,_Optional enableWrite As Boolean=True) As Boolean,Dim con As ADODB.ConnectionOn Error GoTo Execute ErrorSet con=New ADODB.Co
41、nnectioncon.Open ConnectString打開數(shù)據(jù)庫Set rst=New ADODB.Recordset?定義數(shù)據(jù)集If enableWrite Then?讀寫方式rst.Open Trim$(SQL) ,con,adOpenStatic,adLockOptimistic連接,靜態(tài)游標,共享鎖Else?只讀方式rst.Open Trim$ csoL) ,con,adOpenStatic.adLockReadOnlv連接,靜態(tài)游標,獨占鎖End IfExecutesoL =Truecon. Close關閉數(shù)據(jù)庫Exit FunctionExecute Error:12Exec
42、uteSQL=FalseExit FunctionEnd Function7DBExist函數(shù)判斷數(shù)據(jù)庫中是否存在指定記錄,參數(shù)為將要執(zhí)行的SQL 語句。處理流程:創(chuàng)建到數(shù)據(jù)源的連接,執(zhí)行SQL 語句(不允許數(shù)據(jù)集更新),檢索記錄。如果存在指定記錄,返回記錄數(shù);否則,返回值為0 。Public Function DBExist(ByVal soL As String) As IntegerDim con As ADODB.ConnectionDim flag As StringDim rst As ADODB.RecordsetSet con=New ADODB.Connectioncon.(
43、)pen ConnectString打開數(shù)據(jù)庫flag=ExecuteSQL(SQL,rst,False)?執(zhí)行 soL 語句If rst .RecordCount<>0 Then,?判斷該記錄是否存在DBExist=rst.RecordGountElseDBExist=0End Ifcon Close?關閉數(shù)據(jù)庫End Function8 txtlsNull 函數(shù)判斷輸入到TextBox 的內(nèi)容是否為空,參數(shù)為TextBox 實例。處理流程:如果TextBox 文本為空,返回值為True ,否則,返回值為false ,并設置該TextBox 獲得焦點,背景色設置為深藍色。Publ
44、ic Function txtlsNull(txt As TextBox) As BooleanIf Trim(txt.Text)=” ThentxtIsNull=Truetxt.SetFocustxt.BackColor=BLUEElsetxtIsNull=FalseEnd IfEnd Function9 lsOverStringLen函數(shù)判斷輸入內(nèi)容是否超過給定值,參數(shù)為需要處理的字符串和給定長度值。處理流程:判斷字符串長度不超過給定值時返回值為 True ,否則,返回值為 false 。 Public Function IsOverStringLen(ByVal str As Strin
45、g,lenthText As Integer) As Boolean If Len (Trim(str)>lenthText ThenIsOverStringLen=TrueElseIsOverStringLen=FalseEnd IfEnd Function10. viewData函數(shù)在 Datagrid 中顯示數(shù)據(jù),參數(shù)為SQL 語句和將要顯示數(shù)據(jù)的Datagrid 。13處理流程:執(zhí)行SQL 語句,當檢索到的記錄數(shù)不為0 時,將相應的數(shù)據(jù)集設置為Datagrid 的數(shù)據(jù)源,并返回記錄數(shù);否則給出提示信息“還沒有數(shù)據(jù)!”,返回 0 。Public Function viewData(
46、ByVal txtsoL As String,dgAll As DataGrid) As IntegerDim rst Data As ADODB.RecordsetDim result As Stringresult=ExecuteSQL(txtSQL,rstData,False)檢索需要的信息If rstData.RecordCount<>0 Then,設置 Datagrid的數(shù)據(jù)源Set dgAll.DataSource=rstDataviewData=rstData.RecordCountElseMsgBox”還沒有數(shù)據(jù) !” vbOKOnly+vbExclamation,
47、”警告 ”viewData=0End IfEnd Function11. ISEqueILen函數(shù)判斷輸入到TextBox 的內(nèi)容長度是否為給定值,參數(shù)為TextBox 實例和給定長度值。處理流程:如果TextBox 文本內(nèi)容長度為給定值,返回值為True; 否則,返回值為false ,并設置該TextBox 獲得焦點,背景色變?yōu)樯钏{色。Public Function ISEquelLen(ByVal txt As TextBox,intlen As Integer) As BooleanIf Len(txt.Text)<>intlen Thentxt, SetFocustxt.BackColor=BLUEISEquelLen=FalseElseISEquelLen=TrueEnd IfEnd
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣東舞蹈戲劇職業(yè)學院單招職業(yè)傾向性測試題庫附答案
- 2025年黑龍江交通職業(yè)技術學院單招職業(yè)傾向性測試題庫帶答案
- 科技產(chǎn)品中的精密機械解析
- 科技與教育的融合-多媒體教學資源探索
- 社區(qū)教育與老年人社會參與度提升
- 科技公司員工的技術水平提升計劃與實踐案例分析
- 2025年湖北國土資源職業(yè)學院單招職業(yè)適應性測試題庫附答案
- 科技公司如何構建知識產(chǎn)權戰(zhàn)略
- 電信技術與綠色辦公環(huán)境的構建
- 科技產(chǎn)品的包裝與運輸中的第三方物流策略
- 運灰安全管理制度模版(2篇)
- 2024年生態(tài)環(huán)境局公務員考試600題內(nèi)部選題庫(A卷)
- 2024年湖南省公務員錄用考試《行測》真題及答案解析
- 工商企業(yè)管理畢業(yè)論文的范文
- 《物權法》本科題集
- 新能源汽車驅(qū)動電機及控制系統(tǒng)檢修課件 學習情境6:電機控制系統(tǒng)檢修
- 廚房菜品出品標準培訓
- 2024年福建省公務員錄用考試《行測》試題及答案解析
- 【基于單片機的超市自動存儲柜的設計與實現(xiàn)(論文)8700字】
- 保證金退還協(xié)議書
- 2024年銀行考試-商業(yè)銀行考試近5年真題附答案
評論
0/150
提交評論