數(shù)據(jù)庫+vb人事管理系統(tǒng)_第1頁
數(shù)據(jù)庫+vb人事管理系統(tǒng)_第2頁
數(shù)據(jù)庫+vb人事管理系統(tǒng)_第3頁
數(shù)據(jù)庫+vb人事管理系統(tǒng)_第4頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一、系統(tǒng)定義當今中國經(jīng)濟迅速發(fā)展,各個大中小型企業(yè)迅速崛起,企業(yè)的人員管理漸漸顯露出了弊端,本系統(tǒng)以一個統(tǒng)一的界面,這就很需要一個好的管理系統(tǒng)來管理自己的企業(yè),傳統(tǒng)低效的人工管理已不合時宜。給公司的普通員工,高級員工,管理員工等提供了不同的操作及管理功能。數(shù)據(jù)庫服務(wù)器可配置在獨立的服務(wù)器上,也可配置在一臺運行本系統(tǒng)的計算機上。適用于中小型企業(yè),或獨資的個人小公司。二、需求分析系統(tǒng)綜合需求作為一個公司的人事管理系統(tǒng),應(yīng)該給用戶提供方便、友好而簡潔的界面進行應(yīng)用,并對企業(yè)的運營過程中對員工的整體管理,并將這些數(shù)據(jù)進行邏輯上的融合,以便于用戶查看、分析及管理。針對中小型企業(yè)的運營模式,一般分為:行政

2、部,人事部,銷售部,會計部等幾個部門,對部門里邊的員工和管理者,都有一個對應(yīng)的數(shù)據(jù),每個部門的員工信息綜合起來又合成了全公司的員工信息。此系統(tǒng)提供了兩個登錄方式,一個是普通員工的登錄方式,普通員工可以查看自己的信息,部門信息,最新的人事調(diào)動信息,工資信息,以及其他員工的簡單信息;另一個是系統(tǒng)管理員的登錄方式,管理員可以通過此系統(tǒng)對數(shù)據(jù)庫里邊的所有員工信息進行操作,包括添加,修改和刪除,發(fā)布人事調(diào)動信息,輸入員工出勤信息和計算員工工資等操作都有管理員進行操作,以便員工可以查看。1 /29精品三、系統(tǒng)設(shè)計(一)概念結(jié)構(gòu)設(shè)計員工編號部門編號性別員工姓名部門名稱員工編號職位員工姓名行 政 部籍貫等 十

3、 個身份證號碼部門部門信息所在婚姻狀況部門員工員工姓名編號入原部門編號在職狀態(tài)職時聯(lián)系電話文化程度間現(xiàn)部門編號所在部門編號員工編號出勤信息員工姓名請假天數(shù)加班天數(shù)月出勤天數(shù)部門描述部門名稱部門編號部門人數(shù)員工編號原職位人事調(diào)現(xiàn)職位動感謝下載載精品曠工天數(shù)(二)邏輯結(jié)構(gòu)設(shè)計員工信息員工編號intNotnull員工姓名Nvarchar(10)null所在部門編號intnull職位Nvarchar(10)null性別Nvarchar(5)null籍貫Nvarchar(30)null身份證號碼bigintnull文化程度Nvarchar(5)null聯(lián)系電話bigintnull入職時間Nvarchar

4、(10)null在職狀態(tài)Nvarchar(10)null感謝下載載部門信息精品intNot部門編號婚姻狀況Nvarchar(10)nullnull部門名稱Nvarchar(10)null月出勤情況部門人數(shù)Intnull員工編號intNot部門描述Nvarchar(50)nullnull員工姓名Nvarchar(10)null所在部門編號intNull請假天數(shù)intNull加班天數(shù)intNull曠工天數(shù)intNull月出勤天數(shù)intnull包裝部(行政部,人事部等部門和此表數(shù)據(jù)一樣)部門編號intNot null員工編號Nvarchar(10)null員工編號intNull員工姓名Nvarcha

5、r(20)null人事調(diào)動員工編號intNot null員工姓名Nvarchar(20)null原部門編號intNot Null原職位Nvarchar(10)Null感謝下載載精品現(xiàn)部門編號intNot Null現(xiàn)職位Nvarchar(10)null調(diào)動原因Nvarchar(30)null(三)數(shù)據(jù)庫關(guān)系圖四、詳細設(shè)計感謝下載載精品(一)開發(fā)平臺及工具開發(fā)工具Vb 6.0DBMS :Microsoft SQL Server 2005(二)編碼設(shè)計系統(tǒng)采用 vb 應(yīng)用程序以方便開發(fā),為數(shù)據(jù)做了很好的界面設(shè)計,并且可以進行添加刪除修改存儲等。在數(shù)據(jù)源連接方面,使用ado 控件進行數(shù)據(jù)庫的連接,并用

6、datagrid控件進行數(shù)據(jù)顯示,不過這只是普通用戶進行數(shù)據(jù)查看的界面,并不能對數(shù)據(jù)進行任何操作,而能有對數(shù)據(jù)進行操作權(quán)限的管理員就得從登錄界面進入管理界面,對數(shù)據(jù)進行增刪改減。(三)界面設(shè)計.主頁.普通用戶登錄感謝下載載精品.普通員工進入的查詢界面,按菜單進行查詢操作.登錄的員工的本人信息感謝下載載精品.用視圖對數(shù)據(jù)進行簡單的查詢.部門信息的查看.管理員登錄感謝下載載精品.管理界面員工的增刪改操作.添加操作.修改操作感謝下載載精品五、課程設(shè)計總結(jié)這次課程設(shè)計我花了兩個星期的時間來完成,前期做了一些準備工作, 了解了一般超市物流管理方面的背景知識,然后再權(quán)衡了時間和人力,做了適量簡化,并完成了

7、初步的需求分析。稍作細化后,便開始設(shè)計數(shù)據(jù)庫。而后做了界面設(shè)計,完成了程序大部分的主要界面。而在編碼方面,我從系統(tǒng)的功能、規(guī)模和實用方面考慮,并沒有去學(xué)習(xí)和采用過多花哨的新技術(shù),如 .net 、分布式等企業(yè)級應(yīng)用。我在規(guī)劃前,進行了近半個月的時間來學(xué)習(xí)vb6.0的,還有 SQL Server 中觸發(fā)器和存儲過程的知識和編寫方法。而且在以后的編碼過程中,也在不斷的學(xué)習(xí)并解決遇到的問題。在數(shù)據(jù)庫設(shè)計時,由于有些倉促,沒有深入的考慮外碼約束的問題,使得編碼階段,發(fā)現(xiàn)了一個重大問題。在是十部門中某個部門中增加了某個員工后,在員工信息中并沒有記錄,主要是約束和主鍵沒設(shè)置好,并且對觸發(fā)器的使用非常陌生,不

8、過要知道這次的課設(shè),大部分的時間都投在了vb 中去了,界面設(shè)計太重要了,數(shù)據(jù)庫設(shè)計還不如說是界面設(shè)計了,很多知識都是現(xiàn)場學(xué)現(xiàn)場用的。不過還好,總算做完了,有點累,煩,但是當完成的那一會,還是挺有成就感的, 因為這次確實有很大的收獲,知道了一個系統(tǒng)的建立過程是多么的復(fù)雜,對以后出去工作應(yīng)該有些幫助吧。這次課程設(shè)計,我更加深入的了解到軟件工程的復(fù)雜性,以及前期規(guī)劃分析的重要性。其實在 vb 這種面向?qū)ο蟮某绦蛟O(shè)計中,我的瀑布開發(fā)模型并不太合適。而且如果系統(tǒng)再稍微大型一些,以一人之力也難以完成。以后的學(xué)習(xí)中應(yīng)該學(xué)習(xí)一些先進的思想,并多加實踐,從寫程序和軟件架構(gòu)兩個方面都增強自己的能力。六、參考文獻1

9、. Visual basic 6.0程序設(shè)計感謝下載載精品2.數(shù)據(jù)庫系統(tǒng)概論(第三版) 七、附錄數(shù)據(jù)庫部分源代碼create database人事管理系統(tǒng)/ 數(shù)據(jù)庫創(chuàng)建on primary(name= 人事管理系統(tǒng) _dat,數(shù)據(jù)庫文件人事管理系統(tǒng) _dat.mdf',size=5MB,maxsize=20MB,filegrowth=10%)log on(name= 人事管理系統(tǒng) _log,數(shù)據(jù)庫文件人事管理系統(tǒng) _dat.ldf',size=2MB,maxsize=10MB,filegrowth=1MB)use 人事管理系統(tǒng)gocreate table員工信息(員工編號int

10、 not null,員工姓名nvarchar(10) not null,感謝下載載精品所在部門編號int not null,職位 nvarchar(10) null,性別 nvarchar(5) null,籍貫 nvarchar(30) null,身份證號碼bigint null,婚姻狀況nvarchar(5) null,文化程度nvarchar(10) null,聯(lián)系電話bigint null,入職時間datetime null,在職狀態(tài)nvarchar(10) null,primary key(員工編號 ,員工姓名 ,所在部門編號 )create table部門信息 (部門編號int no

11、t null,部門名稱nvarchar(10) null,部門人數(shù)int null,部門描述nvarchar(50) null,primary key(部門編號 )create table人事部 (員工編號int not null,員工姓名nvarchar(20) null,primary key(員工編號 )感謝下載載精品create table行政部 (員工編號int not null,員工姓名nvarchar(20) null,primary key(員工編號 )create table銷售部 (員工編號int not null,員工姓名nvarchar(20) null,primary

12、 key(員工編號 )create table會計部 (員工編號int not null,員工姓名nvarchar(20) null,primary key(員工編號 )create table生產(chǎn)部 (員工編號int not null,員工姓名nvarchar(20) null,primary key(員工編號 )create table技術(shù)部 (員工編號int not null,感謝下載載精品員工姓名nvarchar(20) null,primary key(員工編號 )create table包裝部 (員工編號int not null,員工姓名nvarchar(20) null,prim

13、ary key(員工編號 )create table采購部 (員工編號int not null,員工姓名nvarchar(20) null,primary key(員工編號 )create table服務(wù)部 (員工編號int not null,員工姓名nvarchar(20) null,primary key(員工編號 )create table宣傳部 (員工編號int not null,員工姓名nvarchar(20) null,primary key(員工編號 )感謝下載載精品create table工資 (員工編號int not null,員工姓名nvarchar(10) not nul

14、l,出勤天數(shù)int null,總工資int null,primary key(員工編號 ,員工姓名 )create table月出勤情況 (員工編號int not null,員工姓名nvarchar(10) not null,所在部門編號int not null,請假天數(shù)int null,加班天數(shù)int null,曠工天數(shù)int null,月全天出勤天數(shù)int null,日期 datetime null,primary key(員工編號 ,員工姓名 ,所在部門編號 )create table人事調(diào)動 (員工編號int not null,員工姓名nvarchar(10) not null,調(diào)動原

15、因nvarchar(30) null,原部門編號int not null,感謝下載載精品原職位nvarchar(10) null,現(xiàn)部門編號int not null,現(xiàn)職位nvarchar(10) null,primary key(員工編號 ,員工姓名 )create table登錄信息 (用戶名nvarchar(20) null,用戶密碼nvarchar(20) null)create table管理員信息 (用戶名nvarchar(20) null,用戶密碼nvarchar(20) null)create view員工工資查詢asselect員工編號 ,員工姓名 ,請假天數(shù) ,加班天數(shù) ,

16、曠工天數(shù) ,月全天出勤天數(shù) ,總工資from工資 ,月出勤情況where工資 .員工編號 = 月出勤情況 .員工編號 ;create view部門員工信息asselect部門編號 ,部門名稱 ,員工編號 ,員工姓名from員工信息 ,部門信息where員工信息 .所在部門編號 = 部門信息 .部門編號create view員工簡單信息查詢感謝下載載精品asselect員工編號 ,員工姓名 ,所在部門編號 ,部門名稱 ,職位 ,聯(lián)系電話from員工信息 ,部門信息where員工信息 .所在部門編號 = 部門信息 .部門編號insert部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 )v

17、alues(101,' 行政部 ',0,' 無')insert部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 )values(102,' 人事部 ',0,' 無')insert部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 )values(103,' 會計部 ',0,' 無')insert部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 )values(104,' 銷售部 ',0,' 無')insert部門信息 (部門編號 ,部門名稱 ,部

18、門人數(shù) ,部門描述 )values(105,' 包裝部 ',0,' 無')insert部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 )values(106,' 技術(shù)部 ',0,' 無')insert部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 )values(107,' 生產(chǎn)部 ',0,' 無')insert部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 )values(108,' 宣傳部 ',0,' 無')insert部門信息 (部

19、門編號 ,部門名稱 ,部門人數(shù) ,部門描述 )values(109,' 采購部 ',0,' 無')insert部門信息 (部門編號 ,部門名稱 ,部門人數(shù) ,部門描述 )感謝下載載精品values(110,' 服務(wù)部 ',0,' 無')insert行政部 (員工編號 ,員工姓名 )values(10101,'劉星 ')insert行政部 (員工編號 ,員工姓名 )values(10103,'劉小星 ')insert行政部 (員工編號 ,員工姓名 )values(10104,'劉中星 '

20、;)insert行政部 (員工編號 ,員工姓名 )values(10107,'劉大星 ')insert行政部 (員工編號 ,員工姓名 )values(10108,'劉笑星 ')insert行政部 (員工編號 ,員工姓名 )values(10109,'劉校星 ')insert月出勤情況 ( 員工編號 ,員工姓名 ,所在部門編號 ,請假天數(shù) ,加班天數(shù) ,曠工天數(shù) ,月全天出勤天數(shù) )values(10201,'劉星 ',102,0,0,0,30)insert人事調(diào)動 (員工編號 ,員工姓名 ,原部門編號 ,原職位 ,現(xiàn)部門編號 ,現(xiàn)

21、職位 )values(10201,'劉星 ',101,' 經(jīng)理 ',102,' 經(jīng)理 ')insert登錄信息 (用戶名 ,用戶密碼 )values('10101','10101')insert登錄信息 (用戶名 ,用戶密碼 )values('10201','10201')感謝下載載精品insert管理員信息 (用戶名 ,用戶密碼 )values('sa' ,'123')vb 部分代碼form1代碼Private Sub關(guān)閉 _Click()EndEn

22、d SubPrivate Sub管理員登陸 _Click()frmLogin.ShowUnload MeEnd SubPrivate Sub員工登陸 _Click()frmLogin1.ShowUnload MeEnd Sub管理員登陸代碼Option ExplicitPrivate Sub cmdCancel_Click()Me.HideForm1.Show感謝下載載精品End SubPrivate Sub cmdOK_Click()Dim user As String, pass As String, sqluse As String, sqlpass As String, trsql A

23、s StringIf txtUserName.Text = "" ThenMsgBox "請輸入用戶名!", vbExclamationtxtUserName.SetFocusElseuser = txtUserName.TextEnd IfIf txtPassword.Text = "" ThenMsgBox "請輸入密碼! ", vbExclamationtxtPassword.SetFocusElsepass = txtPassword.TextEnd Ifsqluse = "SELECT * FR

24、OM管理員信息WHERE用戶名 ='" & user & "'"sqlpass = "SELECT * FROM管理員信息WHERE 用戶密碼 ='" & pass & "'"trsql = "SELECT * FROM管理員信息WHERE用戶名 ='" & user & "' AND用戶密碼 ='" & pass &"'"With Ado

25、dc1.CommandType = adCmdText.RecordSource = sqluse.Refresh感謝下載載精品If .Recordset.EOF And .Recordset.BOF ThenMsgBox "沒有此用戶,請重新輸入!"Else.RecordSource = sqlpass.RefreshIf .Recordset.EOF And .Recordset.BOF ThenMsgBox "密碼錯誤,請重新輸入!"Else.RecordSource = trsql.RefreshIf .Recordset.EOF And .Re

26、cordset.BOF ThenMsgBox "無效用戶,請重新輸入!"ElseForm8.ShowUnload MeEnd IfEnd IfEnd IfEnd WithEnd SubPrivate Sub rorm_initialize()ChDrive App.Path感謝下載載精品ChDir App.PathEnd Sub員工信息操作Private Sub Command1_Click()' 添加用戶Dim user As Integeruser = Val(Text1.T ext)With Adodc1.CommandType = adCmdText.Rec

27、ordSource = "SELECT * FROM員工信息WHERE 員工編號 =" & user & "".RefreshIf .Recordset.BOF Then.Recordset.AddNew.Recordset.Fields(0).Value = user.Recordset.Fields(1).Value = Text2.Text.Recordset.Fields(2).Value = Val(Text3.Text).Recordset.Fields(3).Value = Text4.Text.Recordset.Fiel

28、ds(4).Value = Text5.Text.Recordset.Fields(5).Value = Text6.Text.Recordset.Fields(6).Value = Text7.Text.Recordset.Fields(7).Value = Text8.Text.Recordset.Fields(8).Value = Text9.Text.Recordset.Fields(9).Value = Text10.Text感謝下載載精品.Recordset.Fields(10).Value = Text11.Text.Recordset.Fields(11).Value = Te

29、xt12.Text.Recordset.UpdateMsgBox "添加用戶成功"Unload MeElseMsgBox "員工編號已注冊,請重新輸入"Me.HideEnd IfEnd WithEnd SubPrivate Sub Command2_Click()Form8.ShowEnd SubPrivate Sub Command3_Click()'修改信息Dim user1 As Integer, user2 As Stringuser1 = Val(Text13.Text)user2 = Text14.TextWith Adodc1.Co

30、mmandType = adCmdText.RecordSource = "SELECT * FROM員工信息WHERE員工編號 =" & user1 & " AND員工姓名='" & user2 & "'"感謝下載載精品.RefreshIf .Recordset.BOF ThenMsgBox "你的資料未輸入系統(tǒng),請找管理員 "Else.Recordset.Fields(0).Value = Text1.Text.Recordset.Fields(1).Value

31、= Text2.Text.Recordset.Fields(2).Value = Text3.Text.Recordset.Fields(3).Value = Text4.Text.Recordset.Fields(4).Value = Text5.Text.Recordset.Fields(5).Value = Text6.Text.Recordset.Fields(6).Value = Text7.Text.Recordset.Fields(7).Value = Text8.Text.Recordset.Fields(8).Value = Text9.Text.Recordset.Fiel

32、ds(9).Value = Text10.Text.Recordset.Fields(10).Value = Text11.Text.Recordset.Fields(11).Value = Text12.Text.Recordset.UpdateBatchMsgBox "該員工信息已經(jīng)修改,請查詢確認!"End IfEnd WithEnd Sub感謝下載載精品Private Sub Command4_Click()' 刪除信息Dim user As Integeruser = Val(Text13.Text)With Adodc1.CommandType = adCmdText.RecordSource = "SELECT * FROM員工信息WHERE 員工編號 =" & user & "".RefreshIf .Recordset.BOF ThenMsgBox "沒有此員工 "Else.R

溫馨提示

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

評論

0/150

提交評論