企業(yè)人事管理系統(tǒng)畢業(yè)設(shè)計3_第1頁
已閱讀1頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  畢業(yè)設(shè)計(論文)說明書</p><p>  課題名稱:企業(yè)人事管理系統(tǒng)</p><p>  畢業(yè)設(shè)計(論文)主要內(nèi)容及其要求:</p><p>  使用.net+c#+sql設(shè)計用人單位信息簡介、招聘職位種類、數(shù)量、專業(yè)、學歷、工作經(jīng)驗要求、聯(lián)系方式、應(yīng)聘程序與資料要求等信息發(fā)布,以及網(wǎng)上求職者的個人求職信息(職位、待遇、個人學歷、專業(yè)專長、工

2、作經(jīng)歷等)的發(fā)布。并提供網(wǎng)上介紹招聘單位的風光等視屏信息和求職者的照片等圖像信息;以及站長或管理員對信息發(fā)布者的注冊與登錄等網(wǎng)站管理功能。</p><p>  1.熟悉課題要求的功能及基本結(jié)構(gòu)、.net開發(fā)平臺工具的編程環(huán)境。</p><p>  2. 學習并掌握C#技術(shù)與編程方法,并運用面向?qū)ο笤O(shè)計方法,編寫程序。</p><p>  3. 完成畢業(yè)設(shè)計說明書(畢

3、業(yè)論文)一份。</p><p>  4. 完成5000字的與設(shè)計內(nèi)容有關(guān)的外文資料翻譯。</p><p><b>  指導教師簽字: </b></p><p><b>  摘要</b></p><p>  隨著計算機技術(shù)的飛速發(fā)展,計算機在企業(yè)管理中應(yīng)用的普及,利用計算機實現(xiàn)企業(yè)人事管理勢在必行。本

4、系統(tǒng)結(jié)合公司實際的人事管理制度,經(jīng)過實際的需求分析,采用功能強大的Visual Basic6.0作為開發(fā)工具而開發(fā)出來的單機版人事管理系統(tǒng)。</p><p>  整個系統(tǒng)從符合操作簡便、界面友好、靈活、實用、安全的要求出發(fā),完成人事管理的全過程,包括新進員工加入時人事檔案的建立、老員工的轉(zhuǎn)出、職位等的變動引起職工信息的修改、員工信息查詢、統(tǒng)計等人事管理工作以及新進員的新增、老員工修改等管理工作。經(jīng)過實際使用證明,

5、本文所設(shè)計的人事管理系統(tǒng)可以滿足公司人事管理方面的需要。</p><p>  關(guān)鍵詞:信息管理,人事管理,人事管理系統(tǒng)</p><p><b>  Abstract</b></p><p>  With the rapid development of computer technology, computer applications in

6、the enterprise management of the popularity of computer personnel management of enterprises is imperative. The system combines the company's actual personnel management system, the demand for actual analysis, the use

7、 of powerful development tools as Visual Basic6.0 and developed stand-alone version of the personnel management system. </p><p>  From the whole system in line with the simple, user-friendly, flexible, pract

8、ical and safety requirements, the completion of the entire process of personnel management, including new staff into the establishment of personnel files when the old staff out of jobs, such as employees of the changes i

9、n information changes, staff information, statistics, such as personnel management, as well as new members to add, modify, such as the old staff management. Proof of actual use, the paper designed to mee</p><p

10、>  Keywords: information management, personnel management, personnel management systems</p><p><b>  緒論</b></p><p><b>  1.1開發(fā)背景</b></p><p>  人事管理是現(xiàn)代企業(yè)工作中不可

11、缺少的一部分,是推動企業(yè)走向科學化,規(guī)范化的必要條件。員工是企業(yè)生存的主要元素,員工的增減變動直接影響到企業(yè)的整體運作。企業(yè)員工越多,分工越細,聯(lián)系越密,所做的統(tǒng)計工作就越多,人事管理的難度就越大。隨著企業(yè)的不斷壯大,自動化的人事管理系統(tǒng)就顯得非常必要。本軟件要求可以是一個方便,快捷地對職工信息進行添加,修改,刪除的操作,并且可以再數(shù)據(jù)庫中存儲相應(yīng)的職工照片,為了能夠更好的存儲職工信息,可以將職工的信息添加到Word中,這樣可以方便打印

12、和保存。</p><p><b>  1.2可行性研究</b></p><p><b>  1.2.1引言</b></p><p>  為了給軟件開發(fā)的企業(yè)決策層提供是否進行項目實施的參考依據(jù)?,F(xiàn)以文件的形式分析項目的風險,項目的需要的投資和效益。</p><p>  1.2.2可行性研究的前提&l

13、t;/p><p>  可以真正地實現(xiàn)對企業(yè)人事的管理,系統(tǒng)的功能符合企業(yè)的實際情況。系統(tǒng)的功能操作要方便,易懂,不要有多余的復雜的操作,可以方便的對人事信息進行輸出打印。</p><p>  1.2.3投資及效益分析</p><p>  需要在短時間熟悉開發(fā)工具,并熟悉的操作開發(fā)工具,需要投入幾個月的時間和精力,但是可以完成畢業(yè)設(shè)計和掌握軟件開發(fā)過程積累經(jīng)驗技術(shù)。<

14、;/p><p><b>  1.2.4結(jié)論</b></p><p>  根據(jù)上面的分析,技術(shù)上不存在任何問題并且可以順利完成畢業(yè)設(shè)計。</p><p>  2.系統(tǒng)開發(fā)模式、工具及環(huán)境 </p><p><b>  2.1系統(tǒng)運行環(huán)境</b></p><p>  硬件:cpu 1

15、.2GHz以上</p><p><b>  內(nèi)存 1GB以上</b></p><p><b>  硬盤 80GB以上</b></p><p>  軟件:數(shù)據(jù)庫 sql2008</p><p><b>  操作系統(tǒng) win7</b></p><p>  2

16、.2系統(tǒng)開發(fā)工具介紹</p><p><b>  2.2.1C#概述</b></p><p>  C sharp(音標 [∫a:p] )(又被簡稱為"C#")是微軟公司在2000年6月發(fā)布的一種新的編程語言,并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺亮。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相

17、似;它包括了諸如單一繼承、界面、與Java幾乎同樣的語法,和編譯成中間代碼再運行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司.NET windows網(wǎng)絡(luò)框架的主角?!∥④汣#語言定義主要是從C和C++繼承而來的,而且語言中的許多元素也反映了這一點。C#在設(shè)計者從C++繼承的可選選項方面比JAVA要廣泛一些(比如說struts),它還增加了自己新的特點(比

18、方說源代碼版本定義)。</p><p>  2.2.2 .net平臺</p><p>  .NET就是微軟的用來實現(xiàn)XML,Web Services,SOA(面向服務(wù)的體系結(jié)構(gòu)service-oriented architecture)和敏捷性的技術(shù)。對技術(shù)人員,想真正了解什么是.NET,必須先了解.NET技術(shù)出現(xiàn)的原因和它想解決的問題,必須先了解為什么他們需要XML,Web,Servic

19、es 和 SOA。技術(shù)人員一般將微軟看成一個平臺廠商。微軟搭建技術(shù)平臺,而技術(shù)人員在這個技術(shù)平臺之上創(chuàng)建應(yīng)用系統(tǒng)。從這個角度,.NET也可以如下來定義:.NET是微軟的新一代技術(shù)平臺,為敏捷商務(wù)構(gòu)建互聯(lián)互通的應(yīng)用系統(tǒng),這些系統(tǒng)是基于標準的,聯(lián)通的,適應(yīng)變化的,穩(wěn)定的和高性能的。從技術(shù)的角度,一個.NET應(yīng)用是一個運行于.NET Framework之上的應(yīng)用程序。(更精確的說,一個.NET應(yīng)用是一個使用.NET Framework類庫來編

20、寫,并運行于公共語言運行時 Common Language Runtime之上的應(yīng)用程序。)如果一個應(yīng)用程序跟.NET Framework無關(guān),它就不能叫做.NET程序。比如,僅僅使用了XML并不就是.NET應(yīng)用,僅僅使用SOAP SDK調(diào)用一個Web Se</p><p>  2.2.3 sql2008簡介</p><p>  SQL Server 2008是一個重大的產(chǎn)品版本,它推出了

21、許多新的特性和關(guān)鍵的改進,使得它成為至今為止的最強大和最全面的SQL Server版本。這篇文章詳細介紹了Microsoft SQL Server 2008中的新的特性、優(yōu)點和功能…… 在現(xiàn)今數(shù)據(jù)的世界里,公司要獲得成功和不斷發(fā)展,他們需要定位主要的數(shù)據(jù)趨勢的愿景。微軟的這個數(shù)據(jù)平臺愿景幫助公司滿足這些數(shù)據(jù)爆炸和下一代數(shù)據(jù)驅(qū)動應(yīng)用程序的需求。微軟將繼續(xù)投入和發(fā)展以下的關(guān)鍵領(lǐng)域來支持他們的數(shù)據(jù)平臺愿景:關(guān)鍵任務(wù)企業(yè)數(shù)據(jù)平臺、動態(tài)開發(fā)、關(guān)系

22、數(shù)據(jù)和商業(yè)智能。</p><p>  3.系統(tǒng)需求分析及概要設(shè)計</p><p><b>  3.1需求分析</b></p><p>  基于其他企業(yè)人事管理軟件的不足,要求能夠制作一個可以方便,快捷地對職工信息進行添加,修改,刪除的操作,并且可以再數(shù)據(jù)庫中存儲相應(yīng)的職工的照片,為了能夠更好的存儲職工的信息,可以將職工信息添加到Word文檔中,

23、這樣,不但便于保存,還可以通過Word文檔進行打印。</p><p><b>  3.2數(shù)據(jù)庫分析</b></p><p>  企業(yè)人事管理系統(tǒng)主要用來記錄一個企業(yè)中所有員工的基本信息以及每個員工的工作簡歷、家庭成員、懲獎記錄等,</p><p>  數(shù)據(jù)量是根據(jù)企業(yè)員工的多少決定的,SQL Server2008作為目前最新的數(shù)據(jù)庫,該數(shù)據(jù)庫在

24、安全性,準確性和運行速度方面有絕對的優(yōu)勢;并且數(shù)據(jù)處理量大,效率高。所以本系統(tǒng)采用SQL server2008作為后臺數(shù)據(jù)庫,數(shù)據(jù)庫命名為tb_dbms,其中包含了23張數(shù)據(jù)表,并用于存儲不同的信息。</p><p>  數(shù)據(jù)庫E—R模型圖如下:</p><p><b>  管理</b></p><p><b>  擁有</b&

25、gt;</p><p><b>  請假</b></p><p><b>  評價</b></p><p><b>  3.3.數(shù)據(jù)庫設(shè)計</b></p><p>  本系統(tǒng)使用MySQL數(shù)據(jù)庫,由于以前學過數(shù)據(jù)庫SQL語言,因此可以運用SQL語句來建立數(shù)據(jù)庫并進行數(shù)據(jù)的調(diào)用和

26、查詢等等。設(shè)計數(shù)據(jù)庫的過程中要考慮很多方面的因素,比如增刪改的效率,查詢的速度,空間的節(jié)省,數(shù)據(jù)的完整性、一致性和安全性等等。數(shù)據(jù)庫的設(shè)計要遵循一定的規(guī)則,首先要避免保存冗余數(shù)據(jù);其次要使用原子列值,使用原子列值是說對每一行的每個屬性只存儲一個數(shù)據(jù);其三,選擇有意義的主鍵。應(yīng)該確認所選擇的鍵是唯一的,這也是將字段設(shè)為主鍵的強制要求;其四,要考慮需要詢問數(shù)據(jù)庫的問題。在設(shè)計數(shù)據(jù)庫的時候應(yīng)當仔細考慮希望數(shù)據(jù)庫回答哪些問題,因此應(yīng)當確認數(shù)據(jù)庫

27、中已經(jīng)包含所有需要的數(shù)據(jù),并且在表之間要有適當?shù)年P(guān)聯(lián);其五,要避免多個空屬性的設(shè)計數(shù)據(jù)庫中有多個空屬性的設(shè)計是糟糕的,一則極大的浪費存儲空間,二則在統(tǒng)計列總量或?qū)ζ渌麛?shù)值列應(yīng)用計算函數(shù)時可能導致錯誤。</p><p>  所建立的數(shù)據(jù)庫由兩種類型的表組成:</p><p>  描述現(xiàn)實世界對象的簡單表,這種表也可能包含其他簡單對象的鍵,它們之間有一對一或一對多的關(guān)系。</p>

28、<p>  2.描述兩個現(xiàn)實世界對象的多對多關(guān)系的關(guān)聯(lián)表。對于多對多關(guān)系,總是要設(shè)置一張關(guān)聯(lián)表,表中只有兩個字段分別對應(yīng)于兩個實體表的主鍵。關(guān)聯(lián)表總是與現(xiàn)實世界某種事務(wù)處理相聯(lián)系的。</p><p>  本系統(tǒng)中數(shù)據(jù)庫設(shè)計有二十三個表,分別為職工基本信息表,家庭關(guān)系表,工作簡歷表,懲獎表,個人簡歷表,日常記事本表,培訓記錄表,通訊錄等表。</p><p>  表3.1家庭關(guān)系表

29、(tb_Family)</p><p><b>  表3.2職工信息表</b></p><p>  表3.3 獎懲表 </p><p>  表3.4 個人簡歷表</p><p>  表3.5日常記事本表</p><p><b>  表3.6通訊錄</b></

30、p><p><b>  4.系統(tǒng)詳細設(shè)計</b></p><p>  4.1系統(tǒng)設(shè)計總體設(shè)計</p><p>  4.1.1用戶功能模塊設(shè)計</p><p>  4.1.2系統(tǒng)業(yè)務(wù)流程圖</p><p>  企業(yè)人事管理系統(tǒng)的業(yè)務(wù)流程圖如下:</p><p>  4.1.3系統(tǒng)

31、編碼規(guī)范</p><p>  開發(fā)程序時,往往多人參與,為了使程序的結(jié)構(gòu)與代碼標化,以便使每個參與開發(fā)的人盡可能的理解別人編寫的代碼,必須要有一個統(tǒng)一的編碼規(guī)范。</p><p>  (1)窗體命名規(guī)范在創(chuàng)建一個窗體時,首先對窗體的ID進行命名,本系統(tǒng)中統(tǒng)一F_+窗體名稱,其中窗體的名稱最好是英文形式的</p><p>  窗體說明,以便于開發(fā)者通過窗體的ID就知道

32、該窗體的作用。</p><p>  例如登錄窗體,ID名為F_Login。在窗體中調(diào)用其他窗體時,必須對調(diào)用窗體進行引用,其引用變量名為“Frm+窗體名稱“,如登錄窗體的引用名為FrmLogin。</p><p>  (2)添加,修改操作中各個控件的命名規(guī)范</p><p>  在對數(shù)據(jù)進行編輯時,如果數(shù)據(jù)的表格過多時,很難將窗體中的對應(yīng)控件組合成SQL語句。為了便

33、于對數(shù)據(jù)庫的信息進行添加,修改操作,各個字段所對</p><p>  應(yīng)的控件命名為“表名_數(shù)字”,這里的數(shù)字是根據(jù)數(shù)據(jù)表中相應(yīng)的字段進行編</p><p>  號的。例如將一個控件與tb_WorkResume數(shù)據(jù)表中的第三個字段簡歷關(guān)系,應(yīng)將其name的屬性設(shè)為Word_2。</p><p>  (3)查詢操作中各個控件的命名規(guī)范</p><p

34、>  當使用多字段對數(shù)據(jù)表中的數(shù)據(jù)進行查詢時,將窗體中相應(yīng)的控件值組合成查詢語句是非常麻煩的,為了能快速組合查詢條件,可以將設(shè)置查詢條件的控件命名為“表名_相應(yīng)名”。當查詢條件需要邏輯運算時,將記錄的邏輯運算符命名為“相應(yīng)字段名_Sign”,這樣就可以通過字段名來組合查詢條件。例如查詢條件年齡大于30歲的職工,年齡的字段名為Age,條件控件名為Find_Age;邏輯控件名為Age_Sign,通過條件控件和邏輯控件即可組合成查詢條件

35、。</p><p>  4.2系統(tǒng)設(shè)計詳細設(shè)計</p><p>  4.2.1公共類設(shè)計</p><p>  在開發(fā)應(yīng)用程序時,可以將數(shù)據(jù)庫的相關(guān)操作以及對一些控件的設(shè)置,遍歷等分裝在自定義類中,以便在開發(fā)程序時調(diào)用,這樣可以提高代碼的重用性。本系統(tǒng)創(chuàng)建了MyMeans和MyModule兩個公共類,分別存方在Dataclass和Moduleclass文件夾中。<

36、;/p><p>  MyMeans類中主要封裝了本系統(tǒng)中所有與數(shù)據(jù)庫的連接的方法,可以通過該類的方法與數(shù)據(jù)庫的連接,并對數(shù)據(jù)庫的信息進行添加,修改,刪除以及讀取等操作,在命名空間區(qū)域引用using System.Data.SqlClient命名空間。</p><p>  本類中有如下自定義方法:</p><p>  getcon方法主要負責數(shù)據(jù)的連接實現(xiàn)代碼如下<

37、/p><p>  public static SqlConnection getcon()</p><p><b>  {</b></p><p>  My_con = new SqlConnection(M_str_sqlcon); </p><p>  My_con.Open(); </p><

38、p>  return My_con; }</p><p>  getcom方法主要功能是用SqlDataReader對象以只讀的方式讀取數(shù)據(jù)庫中的信息,并以SqlDataReader對象進行返回實現(xiàn)代碼如下:</p><p>  public SqlDataReader getcom(string SQLstr)</p><p><b>

39、;  {</b></p><p>  getcon(); </p><p>  SqlCommand My_com = My_con.CreateCommand(); My_com.CommandText = SQLstr; </p><p>  SqlDataReader My_read = My_com.

40、ExecuteReader();</p><p>  return My_read;</p><p><b>  }</b></p><p>  Getsqlcom方法該方法的主要功能是通過SqlCommand對象執(zhí)行數(shù)據(jù)庫中的添加修改和刪除的操作,實現(xiàn)代碼如下:</p><p>  public void getsql

41、com(string SQLstr)</p><p><b>  {</b></p><p>  getcon(); </p><p>  SqlCommand SQLcom = new SqlCommand(SQLstr, My_con); SQLcom.ExecuteNonQuery();

42、 </p><p>  SQLcom.Dispose(); </p><p>  con_close(); } </p><p>  getdataset方法主要功能是通過SqlCommand對象執(zhí)行數(shù)據(jù)的添加,修改刪除的操作,實現(xiàn)代碼如下:</p><p>  public DataSet

43、getDataSet(string SQLstr, string tableName)</p><p><b>  {</b></p><p>  getcon(); </p><p>  SqlDataAdapter SQLda = new SqlDataAdapter(SQLstr, My_con);

44、 DataSet My_DataSet = new DataSet(); SQLda.Fill(My_DataSet, tableName); con_close(); </p><p>  return My_DataSet; </p><p><b>  }</b></p>

45、<p>  MyModule類中主要封裝了窗體中動態(tài)生成添加,修改,刪除和查詢的SQl語句等全部封裝到了指定的自定義方法中,以便于在開發(fā)程序時進行重用調(diào)用,這樣可以大大簡化程序的開發(fā)過程。由于該類中應(yīng)用了可視化組件的基類和對數(shù)據(jù)庫進行操作的相關(guān)對象,所以在命名空間區(qū)域引用using system.Wordows.Form和using System.Data.Sqlclient命名空間。</p><p>

46、  本類中自定義如下方法:</p><p>  Show_Form方法該方法的主要功能是調(diào)用相應(yīng)的子窗體,也就是在同一個窗體模塊中顯示不同的窗體。</p><p>  Getmenu方法該方法的主要功能是Menustrip中的菜單項按級別添加到TreeView相應(yīng)的節(jié)點中,主要實現(xiàn)代碼如下:</p><p>  public void GetMenu(TreeVie

47、w treeV, MenuStrip MenuS)</p><p><b>  {</b></p><p>  for (int i = 0; i < MenuS.Items.Count; i++) </p><p><b>  {</b></p><p>  Tree

48、Node newNode1 = treeV.Nodes.Add(MenuS.Items[i].Text);</p><p>  ToolStripDropDownItem newmenu = (ToolStripDropDownItem)MenuS.Items[i]; if (newmenu.HasDropDownItems && newmenu.DropDownItems.Count >

49、0) for (int j = 0; j < newmenu.DropDownItems.Count; j++) {</p><p>  TreeNode newNode2 = newNode1.Nodes.Add(newmenu.DropDownItems[j].Text);</p><p>  ToolStripDropDownIte

50、m newmenu2 = (ToolStripDropDownItem)newmenu.DropDownItems[j]; </p><p>  if (newmenu2.HasDropDownItems && newmenu2.DropDownItems.Count > 0)</p><p>  for (int p = 0; p < newmenu2.Dro

51、pDownItems.Count; p++) </p><p>  newNode2.Nodes.Add(newmenu2.DropDownItems[p].Text);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }<

52、;/b></p><p>  Clear_Control方法該方法主要是清空可視化控件中指定的圖片及文本信息,主要用于對相應(yīng)的文本框進行清空。</p><p>  Part_SaveClass方法該方法的主要功能是通過部分控件名BoxName與i值相結(jié)合,在可視化控件幾種查找指定的控件,并根據(jù)sarr參數(shù)中的字段名,組合成添加或修改語句。</p><p>  

53、Find_Grids方法該方法主要功能是查找可視化控件集中控件名包含TName參數(shù)值的所有控件,并根據(jù)控件名稱獲取相應(yīng)的字段名。</p><p>  getAutocoding方法該方法的主要功能是在添加數(shù)據(jù)時自動獲取添加的數(shù)據(jù)的編號嗎。</p><p>  TreeMenuF方法該方法是在單擊TreeView控件的節(jié)點時被調(diào)用,其主要功能是通過所選節(jié)點的文本名稱,在MenuStrip控件

54、中進行遍歷查找。如果找到,并且為可用的狀態(tài),則通過Show_Form方法動態(tài)調(diào)用相關(guān)的窗體。</p><p>  MainPope方法該方法的主要功能是通過當前登錄用戶的名稱,在用戶權(quán)限中查詢當前用戶的所有權(quán)限,并根據(jù)權(quán)限來設(shè)置各個菜單的可用狀態(tài)。實現(xiàn)該方法的功能如下: public void MainPope(MenuStrip MenuS, String UName)</p><p>

55、<b>  {</b></p><p>  string Str = "";</p><p>  string MenuName = "";</p><p>  DataSet DSet = MyDataClass.getDataSet("select ID from tb_Login wher

56、e Name='" + UName + "'", "tb_Login"); </p><p>  string UID = Convert.ToString(DSet.Tables[0].Rows[0][0]); DSet = MyDataClass.getDataSet("selec

57、t ID,PopeName,Pope from tb_UserPope where ID='" + UID + "'", "tb_UserPope"); </p><p>  bool bo = false;</p><p>  for (int k = 0; k < DSet.Tables[0

58、].Rows.Count; k++) {</p><p>  Str = Convert.ToString(DSet.Tables[0].Rows[k][1]); </p><p>  if (Convert.ToInt32(DSet.Tables[0].Rows[k][2]) == 1) </p><p>  bo = true;&

59、lt;/p><p><b>  else</b></p><p>  bo = false;</p><p>  for (int i = 0; i < MenuS.Items.Count; i++) {</p><p>  ToolStripDropDownItem newmenu =

60、 (ToolStripDropDownItem)MenuS.Items[i]; if (newmenu.HasDropDownItems && newmenu.DropDownItems.Count > 0) for (int j = 0; j < newmenu.DropDownItems.Count; j++)

61、 {</p><p>  MenuName = newmenu.DropDownItems[j].Name; if (MenuName.IndexOf(Str) > -1) </p><p>  newmenu.DropDownItems[j].Enabled = bo;

62、</p><p>  ToolStripDropDownItem newmenu2 = (ToolStripDropDownItem)newmenu.DropDownItems[j]; if (newmenu2.HasDropDownItems && newmenu2.DropDownItems.Count > 0)

63、 for (int p = 0; p < newmenu2.DropDownItems.Count; p++) {</p><p>  MenuName = newmenu2.DropDownItems[p].Name; if

64、 (MenuName.IndexOf(Str) > -1) newmenu2.DropDownItems[p].Enabled = bo; }</p><p><b>  }</b></p><p><b> 

65、 }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  Amend_Pope方法該方法的主要功能是修改指定用戶的權(quán)限。實現(xiàn)該方法的代碼如下: public void Amend_Pope(Control.ControlCollection GBox,

66、string TID)</p><p><b>  {</b></p><p>  string CheckName = "";</p><p>  int tt = 0;</p><p>  foreach (Control C in GBox)</p><p><b&

67、gt;  {</b></p><p>  if (C.GetType().Name == "CheckBox")</p><p><b>  {</b></p><p>  if (((CheckBox)C).Checked)</p><p><b>  tt = 1;</

68、b></p><p><b>  else</b></p><p><b>  tt = 0;</b></p><p>  CheckName = C.Name;</p><p>  string[] Astr = CheckName.Split(Convert.ToChar('_&#

69、39;));</p><p>  MyDataClass.getsqlcom("update tb_UserPope set Pope=" + tt + " where (ID='" + TID + "') and (PopeName='" + Astr[1].Trim() + "')");</p

70、><p><b>  }</b></p><p><b>  }</b></p><p>  4.4.2登錄模塊設(shè)計</p><p>  登錄模塊主要主要是通過輸入正確的用戶名和密碼進入主窗體,他可以提高程序的安全性,保護數(shù)據(jù)資料不外泄,設(shè)計登錄窗體用到如下的控件:</p><p&g

71、t;  登錄窗體的主要界面如下:</p><p>  實現(xiàn)登錄的主要代碼:private void butLogin_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (radioButton1.Checked==true&(textName.Text

72、!= "" & textPass.Text != ""))</p><p><b>  {</b></p><p>  SqlDataReader temDR = MyClass.getcom("select * from tb_Login where Name='" + textName.T

73、ext.Trim() + "' and Pass='" + textPass.Text.Trim() + "'");</p><p>  bool ifcom = temDR.Read();</p><p>  if (ifcom)</p><p><b>  {</b></

74、p><p>  DataClass.MyMeans.Login_Name = textName.Text.Trim();</p><p>  DataClass.MyMeans.Login_ID = temDR.GetString(0);</p><p>  DataClass.MyMeans.My_con.Close();</p><p>  

75、DataClass.MyMeans.My_con.Dispose();</p><p>  DataClass.MyMeans.Login_n = (int)(this.Tag);</p><p>  DataClass.MyMeans.Login_a = 0;</p><p>  this.Close();</p><p><b>

76、;  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("用®?戶¡ì名?或¨°密¨¹碼?錯䨪誤&

77、#168;®!ê?", "提¬¨¢示º?", MessageBoxButtons.OK, MessageBoxIcon.Information);</p><p>  textName.Text = "";</p><p>  textPass.Text = ""

78、;;</p><p><b>  }</b></p><p>  MyClass.con_close();</p><p><b>  }</b></p><p>  else if (radioButton2.Checked == true & (textName.Text != &quo

79、t;" & textPass.Text != ""))</p><p><b>  {</b></p><p>  DataClass.MyMeans.Login_n = 0;</p><p>  SqlDataReader temDR = MyClass.getcom("select * fro

80、m tb_Login1 where ID='" + textName.Text.Trim() + "' and PWD='" + textPass.Text.Trim() + "'");</p><p>  bool ifcom = temDR.Read();</p><p>  if (ifcom)<

81、/p><p><b>  {</b></p><p>  DataClass.MyMeans.Login_Name = textName.Text.Trim();</p><p>  DataClass.MyMeans.Login_ID = temDR.GetString(0);</p><p>  DataClass.My

82、Means.My_con.Close();</p><p>  DataClass.MyMeans.My_con.Dispose();</p><p>  DataClass.MyMeans.Login_a = 1;</p><p>  this.Close();</p><p>  F_Main1 frm = new F_Main1();&

83、lt;/p><p>  frm.Show();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  MessageBox.Show("請?將?登Ì

84、;?錄?信?息¡é添¬¨ª寫¡ä完ª¨º整?!ê?", "提¬¨¢示º?", MessageBoxButtons.OK, MessageBoxIcon.Information);</p><p><b>  }</b&g

85、t;</p><p>  4.2.3系統(tǒng)主窗體設(shè)計</p><p>  主窗體是程序操作過程中必不可少的,它是人計交互的重要環(huán)節(jié)。通過主窗體用戶可以調(diào)用系統(tǒng)相關(guān)的各個子模塊,快速掌握本系統(tǒng)實現(xiàn)的各個功能。本系統(tǒng)中當?shù)卿洿绑w驗證成功后,用戶將進入主窗體。主窗體被分為4個部分,最上面的是系統(tǒng)的菜單欄,通過它可以調(diào)用系統(tǒng)中所有的子窗體。菜單欄最下面是工具欄,它以按鈕的形式使用戶能夠方便的調(diào)用最常

86、用的子窗體,窗體的左邊是一個樹形的導航菜單欄,該導航的菜單欄的項目是自動生成的,窗體的下面用狀態(tài)顯示當前登錄的用戶名。主窗體運行的結(jié)果如圖:</p><p>  圖1.職工登錄主界面</p><p>  圖2.管理員登錄主界面</p><p><b>  設(shè)計菜單欄</b></p><p><b>  菜單欄的

87、運行效果:</b></p><p>  菜單欄主要是通過menustrip實現(xiàn)的,從工具箱中拖放一個menustrip控件至于系統(tǒng)的主窗體中,然后為每個菜單項設(shè)置菜單名稱。菜單欄設(shè)置成功后,點擊各個子菜單,可以獲得相應(yīng)的子窗體,獲得子窗體的代碼如下:例如單擊基礎(chǔ)信息管理數(shù)據(jù)基礎(chǔ)的民族類別設(shè)置</p><p>  public void Tool_Folk_Click(objec

88、t sender, EventArgs e)</p><p><b>  {</b></p><p>  MyMenu.Show_Form(sender.ToString().Trim(), 2);</p><p><b>  }</b></p><p><b>  設(shè)計工具欄</b

89、></p><p>  工具欄的運行效果圖如下:</p><p>  本系統(tǒng)的工具欄主要是通過ToolStrip來實現(xiàn)的,從工具欄中拖放一個Toolstrip控件置于主窗體中,設(shè)置工具欄的類型為Button,然后右擊選擇“設(shè)置圖像”,添加圖像。工具欄主要為用戶提供一種方便的操作系統(tǒng)的常用的功能方式。單擊可以獲得相應(yīng)的子窗體。實現(xiàn)代碼如下:</p><p>  

90、private void Tool_ClewBirthday_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  MyMenu.Show_Form(sender.ToString().Trim(), 1);</p><p><b>  }</b>&

91、lt;/p><p><b>  設(shè)計導航欄</b></p><p>  導航欄的運行效果圖如下:</p><p>  導航菜單是通過TreeView來實現(xiàn)的,導航菜單欄根據(jù)菜單欄自動生成的,它主要用了MyModule下的GetMenu方法:</p><p>  treeView1.Nodes.Clear();</p&g

92、t;<p>  MyMenu.GetMenu(treeView1, menuStrip1); </p><p>  單擊導航菜單欄下的子節(jié)點可以調(diào)用相應(yīng)的子窗體代碼如下:</p><p>  private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)</p>

93、<p><b>  {</b></p><p>  if (e.Node.Text.Trim() == "系統(tǒng)退出") {</p><p>  Application.Exit(); </p><p><b>  }</b></p><p&g

94、t;  MyMenu.TreeMenuF(menuStrip1, e); ?</p><p><b>  }</b></p><p><b>  設(shè)計狀態(tài)欄</b></p><p>  狀態(tài)欄的運行效果圖:</p><p>  本系統(tǒng)的狀態(tài)欄主要是通過statusStrip來實現(xiàn)的,設(shè)計狀態(tài)欄的具

95、體步驟如下:</p><p>  從工具箱中拖放一個statusstrip控件置于系統(tǒng)中,單擊statusstrip控件下拉按鈕,可以選擇為狀態(tài)欄添加哪種控件,本系統(tǒng)中用到3個statusLable控件分別設(shè)置Text屬性為“歡迎使用企業(yè)人事管理系統(tǒng)”,“當前登錄用戶:第三個控件用來顯示登錄用戶姓名,實現(xiàn)代碼如下:</p><p>  statusStrip1.Items[2].Text

96、= DataClass.MyMeans.Login_Name; </p><p>  4.2.4 人事檔案管理模塊設(shè)計</p><p>  人事檔案管理窗體,是用來對職工的基本信息,家庭情況,工作簡歷,培訓記錄,等進行添加,修改刪除。在主窗體中可以通過菜單欄中的“人事管理”/</p><p>  “人事檔案管理”調(diào)用人事檔案的瀏覽窗體,也可以通過工具欄的“人事檔案管

97、理”按鈕或?qū)Ш讲藛沃邢吕斜磉M行調(diào)用。人事檔案管理主要是由4個部分組成,分別是由分類查詢,瀏覽按鈕,職工名稱表和信息操作組成。其中分類查詢主要是通過職工的類別,對職工進行簡單的查詢,瀏覽按鈕是通過按鈕對職工名稱進行瀏覽。職工名稱來顯示職工姓名,信息操作對職工的相關(guān)信息進行瀏添加,修改,刪除,瀏覽等操作,并可以將職工的基本信息在word自定義表格中進行顯示。人事檔案的運行模塊如下:</p><p>  設(shè)計人事檔案

98、的管理窗體主要用到的控件:</p><p>  4.2.5人事資料查詢模塊設(shè)計</p><p>  在人事資料查詢窗體中,可以通過基本信息和個人信息區(qū)域中的查詢條件,對職工的基本信息進行查詢,人事資料查詢模塊運行的結(jié)果圖:</p><p>  人事資料查詢的主要代碼: </p><p>  private void button1_Clic

99、k(object sender, EventArgs e)</p><p><b>  {</b></p><p>  ModuleClass.MyModule.FindValue = ""; </p><p>  string Find_SQL = Sut_SQL; MyMC

100、.Find_Grids(groupBox1.Controls, "Find", ARsign); MyMC.Find_Grids(groupBox2.Controls, "Find", ARsign);</p><p>  if (MyMC.Date_Format(Find1_WorkDate.Text) != "" &

101、;& MyMC.Date_Format(Find2_WorkDate.Text) != "")</p><p>  if (ModuleClass.MyModule.FindValue != "") ModuleClass.MyModule.FindValue = ModuleCla

102、ss.MyModule.FindValue + ARsign;</p><p>  ModuleClass.MyModule.FindValue = ModuleClass.MyModule.FindValue + " (" + "workdate>='" + Find1_WorkDate.Text + "' AND workdate<

103、='" + Find2_WorkDate.Text + "')";</p><p>  if (ModuleClass.MyModule.FindValue != "") </p><p>  Find_SQL = Find_SQL + " where " + ModuleClass.MyModule.F

104、indValue;</p><p>  MyDS_Grid = MyDataClass.getDataSet(Find_SQL, "tb_Stuffbusic");</p><p>  dataGridView1.DataSource = MyDS_Grid.Tables[0];</p><p>  dataGridView1.AutoGener

105、ateColumns = true;</p><p>  checkBox1.Checked = false;</p><p><b>  }</b></p><p>  4.2.6通訊錄模塊設(shè)計</p><p>  通訊錄模塊主要是對企業(yè)人事管理系統(tǒng)中的通訊錄,信息進行管理,包括對通訊錄的信息進行添加,修改,刪除和查詢

106、等操作。通訊錄窗體運行結(jié)果如圖:</p><p>  設(shè)計通訊錄主要用到如下的控件:</p><p>  通訊錄模塊實現(xiàn)的主要代碼:</p><p>  private void Address_Add_Click(object sender, EventArgs e)</p><p><b>  {</b></p

107、><p>  InfoAddForm.F_Address FrmAddress = new PWMS.InfoAddForm.F_Address();</p><p>  FrmAddress.Text = "通訊錄添加";</p><p>  FrmAddress.Tag = 1;</p><p>  FrmAddress.

108、ShowDialog(this);</p><p>  ShowAll();</p><p><b>  }</b></p><p>  private void Address_Amend_Click(object sender, EventArgs e)</p><p><b>  {</b>&

109、lt;/p><p>  InfoAddForm.F_Address FrmAddress = new PWMS.InfoAddForm.F_Address();</p><p>  FrmAddress.Text = "通訊錄修改";</p><p>  FrmAddress.Tag = 2;</p><p>  FrmAdd

110、ress.ShowDialog(this);</p><p>  ShowAll();</p><p><b>  }</b></p><p>  當單擊添加按鈕時會出現(xiàn)下面的窗體:</p><p>  在該窗體中寫下通訊錄信息,然后保存,這時將信息寫入了數(shù)據(jù)庫,并且在datagridview中顯示出來了。當單擊修改時會

111、出現(xiàn)同樣的窗體,修改信息后單擊保存,將數(shù)據(jù)存入數(shù)據(jù)庫。</p><p>  4.2.7日常記事模塊設(shè)計</p><p>  日常記事主要是記錄企業(yè)的日常的一些重要的事件,運行窗體如下圖:</p><p>  該窗體用的主要控件如下:</p><p>  實現(xiàn)該窗體的代碼如下:</p><p>  private voi

112、d button2_Click(object sender, EventArgs e)</p><p>  {MyMC.Clear_Control(groupBox3.Controls);</p><p>  WordPad_1.Value = Convert.ToDateTime(System.DateTime.Now.ToString());</p><p> 

113、 Word_ID = MyMC.GetAutocoding("tb_DayWordPad", "ID"); Word_S = 1;</p><p>  MyMC.Ena_Button(Word_Add, Word_Amend, Word_Cancel, Word_Save, 1, 0, 1, 1);}</p><p>  pr

114、ivate void button3_Click(object sender, EventArgs e)</p><p>  {if (MyDS_Grid.Tables[0].Rows.Count > 0)</p><p>  { Word_S = 2;</p><p>  MyMC.Ena_Button(Word_Add, Word_Amend, Wor

115、d_Cancel, Word_Save, 0, 1, 1, 1); }</p><p><b>  else</b></p><p>  MessageBox.Show("當前記錄為空無法進行修改");}</p><p>  private void dataGridView1_CellEnter(object sender

116、, DataGridViewCellEventArgs e)</p><p>  { Show_N(); }</p><p>  private void Word_Cancel_Click(object sender, EventArgs e)</p><p>  { Word_S = 0;</p><p>  MyMC.Ena_Butto

117、n(Word_Add, Word_Amend, Word_Cancel, Word_Save, 1, 1, 0, 0);</p><p>  MyDS_Grid = MyDataClass.getDataSet(AllSql, "tb_DayWordPad");</p><p>  dataGridView1.DataSource = MyDS_Grid.Tables[

118、0];</p><p><b>  }</b></p><p>  private void Word_Save_Click(object sender, EventArgs e)</p><p>  { string All_Field = "";</p><p>  string All_Valu

119、e = "";</p><p>  if (Word_S == 1)</p><p>  {All_Field = "ID,BlotterDate,BlotterSort,Motif,Wordpa";</p><p>  All_Value = "'" + Word_ID + "'

120、," + "'" + Convert.ToDateTime((WordPad_1.Value.ToString())).ToShortDateString() + "'," + "'" + WordPad_2.Text + "'," + "'" + WordPad_3.Text + &qu

121、ot;'," + "'" + WordPad_4.Text + "'";</p><p>  MyDataClass.getsqlcom("insert into tb_DayWordPad (" + All_Field + ") values(" + All_Value + ")"

溫馨提示

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

評論

0/150

提交評論