C#程序設計項目教程課件項目8 簡歷系統(tǒng)的功能實現(xiàn)_第1頁
C#程序設計項目教程課件項目8 簡歷系統(tǒng)的功能實現(xiàn)_第2頁
C#程序設計項目教程課件項目8 簡歷系統(tǒng)的功能實現(xiàn)_第3頁
C#程序設計項目教程課件項目8 簡歷系統(tǒng)的功能實現(xiàn)_第4頁
C#程序設計項目教程課件項目8 簡歷系統(tǒng)的功能實現(xiàn)_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目8簡歷系統(tǒng)的功能實現(xiàn)1.了解功能分析的過程;2.會進行簡單的算法設計;3.能使用數(shù)據(jù)庫操作類定義數(shù)據(jù)操作方法;4.能完成相關(guān)功能的界面設計。教學目標8.1.1任務分析如果用戶還沒有注冊簡歷管理系統(tǒng),要通過學生注冊功能實現(xiàn)注冊,注冊的算法分析如下。1.檢查需要注冊的昵稱是否有重復,如果重復,提示錯誤信息。需要在UserDAO類中添加檢索方法。2.添加用戶表,需在UserDAO類中添加增加用戶方法。3.添加記錄完成后,要給出用戶注冊的編號信息,以便用戶根據(jù)編號登錄。要在UserDAO類中添加根據(jù)昵稱查詢用戶編號的方法。8.1任務1學生注冊功能實現(xiàn)1.昵稱查詢nickname在數(shù)據(jù)存儲時,要求不重復,所以,直接檢索數(shù)據(jù)庫表Users中昵稱名稱是否重復即可。該方法的名稱為SelectNickname,需要定義的實際參數(shù)為string類型用于接收新的昵稱,該方法返回bool值,當數(shù)據(jù)庫中已經(jīng)存在要注冊的昵稱時,返回值為false,否則,返回值為true。8.1.2任務實施2.添加用戶

如果昵稱可用,在user表中添加記錄,因為stuid設置為自動增長字段,不需要添加。只需要添加nickname與password字段的值即可。注意SQL語句要使用“insertintousers(nickname,password)values(‘value1’,’value2’)”的方式編寫。添加方法名稱為AddUser,形式參數(shù)可以是nickname、password的值,也可以封裝為Users對象。返回添加是否成功的bool值。8.1.2任務實施3.根據(jù)昵稱查詢編號昵稱是users表中不允許重復的字段值。8.1.2任務實施1.窗體控件設計在JianliApp項目中,添加用戶注冊窗體RegistFrm,窗體設計和窗體中控件屬性設計如下所示。8.1.3窗體設計2.窗體代碼設計在JianliApp項目中,引用類庫JianLiClass。(1)昵稱檢查

“昵稱檢查”按鈕實現(xiàn)輸入要注冊的昵稱進行檢查,如果不重復,則給出可用信息;如果重復,則給出錯誤信息。需要調(diào)用UserDAO類中的SelectNickname方法。(2)注冊昵稱檢查后,填寫密碼,調(diào)用UserDAO類中的AddUser方法添加記錄,因為該給出編號信息,所以調(diào)用根據(jù)昵稱獲取編號的方法GetStuid。8.1.3窗體設計3.調(diào)試窗體為了驗證窗體的正確與否,修改JianLiApp中Program類中的Main方法,讓程序從該窗體運行。4.運行結(jié)果8.1.3窗體設計在登錄界面中,程序運行時,單擊“未注冊”后的linkLabel1“請單擊此處”,編寫單擊事件代碼如下,實現(xiàn)相應的功能。privatevoidlinkLabel1_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse){RegistFrmzz=newRegistFrm();zz.Show();}8.1.4登錄窗體調(diào)用代碼設計8.2.1任務分析注冊功能實現(xiàn)時,昵稱是唯一的,如果忘記用戶編號或者密碼可以通過昵稱找回信息。即訪問users表,根據(jù)昵稱查詢得到一個含有用戶編號與密碼的Users對象。8.2任務2找回編號與密碼功能實現(xiàn)在UserSDAO中添加根據(jù)昵稱查找信息的方法SelectOneByNickname,代碼如下。

publicUsersSelectOneByNickname(stringnickname){DBConndb=newDBConn();Usersuser=newUsers();stringsql="selectstuid,passwordfromuserswherenickname='"+nickname+"'";SqlDataReaderdr=db.SelectReader(sql);if(dr.Read()){user.Stuid=dr.GetInt32(0);user.Psd=dr.GetString(1);}returnuser;8.2.2任務實施在JianLiApp項目中添加Form類FindBackFrm,用于實現(xiàn)用戶信息的找回。該窗體的設計和運行分別如下。8.2.3窗體設計圖8-2-1窗體設計圖8-2-2運行界面學生用戶注冊成功,并成功該系統(tǒng)時,第一次打開學生信息窗體時,學生信息為空,要在學生信息表Student添加一條以登錄的用戶編號為主鍵和外鍵的記錄。如果不是第一次打開學生信息窗體,則要在學生信息窗體上顯示學生已經(jīng)填好的信息。8.3任務3學生信息維護

學生信息維護用于添加Student以及修改Student記錄。算法如下。1.登錄系統(tǒng)后,會在Info.stuid中記錄登錄學生的信息。2.根據(jù)Info.stuid進行數(shù)據(jù)查詢,查詢student表中是否有記錄,如無,則添加記錄,即在StudentDAO類添加student方法AddStudent。如有,檢索記錄并顯示在窗體上,即在StudentDAO類中添加根據(jù)stuid查詢student信息的方法SelectStudentByStuid。3.當學生信息完善后,要進行數(shù)據(jù)信息的保存。需在StudentDAO類中添加student信息修改的方法ModifystudentBystuid方法。8.3.1任務分析1.根據(jù)stuid查詢student表中的記錄該方法實現(xiàn)根據(jù)主鍵stuid查詢表student中的記錄,返回一個Student類型的對象。2.添加student記錄在Student表中添加主鍵值為Info.stuid的student記錄。返回一個bool類型的對象。3.修改student記錄當學生信息修改后,要實現(xiàn)數(shù)據(jù)保存。返回一個bool類型的對象。8.3.2任務實施1.控件設計在JianLiApp中添加窗體StudentInfoFrm,該窗體的界面設計如下。8.3.3窗體設計2.代碼設計該窗體中的功能實現(xiàn)要調(diào)用類庫JianLiClass,在窗體的系統(tǒng)命名間添加引用代碼:usingJianLiClass;(1)StudentInfoFrm構(gòu)造函數(shù)設計(2)窗體載入事件設計(3)“上傳照片”單擊事件的實現(xiàn)(4)“保存信息”按鈕單擊事件的實現(xiàn)(5)“修改信息”按鈕事件的實現(xiàn)3.窗體調(diào)試8.3.3窗體設計

在主窗體ResumeMainFrm的“學生信息管理”主菜單下,通過子菜單項“個人信息查看/添加”的單擊事件關(guān)聯(lián)到學生信息維護窗體,“個人信息修改”的單擊事件也關(guān)聯(lián)到該單擊事件。代碼如下。privatevoid信息添加ToolStripMenuItem_Click(objectsender,EventArgse){StudentInfoFrmzz=newStudentInfoFrm(Info.stuid);zz.MdiParent=this;zz.Show();}8.3.4主窗體調(diào)用代碼設計8.4.1任務分析通訊錄管理實現(xiàn)通訊錄信息的添加和修改。主要處理方法如下:1.在通訊錄中添加一條記錄;2.根據(jù)stuid檢索通訊錄,獲取一條通訊錄信息;3.根據(jù)stuid修改通訊錄信息。這三個方法添加在通訊錄對應的操作類AddressbookDAO中。8.4任務4通訊錄管理功能實現(xiàn)1.添加通訊錄信息把通訊錄信息封裝在通訊錄Addressbook類中,然后通過添加通訊錄的sql語句調(diào)用數(shù)據(jù)訪問類的update方法,獲取bool類型的是否添加成功的結(jié)果。2.根據(jù)stuid查詢通訊錄記錄stuid在表addressbook中是主鍵,也是外鍵,根據(jù)stuid查詢記錄,要么返回一條記錄,要么返回為空。將檢索結(jié)果封裝為對象返回。3.修改通訊錄記錄如果通訊錄信息存在,需要修改數(shù)據(jù)記錄時,stuid不能被修改,其他字段都能被修改。8.4.2任務實施1.控件設計8.4.3窗體設計2.代碼設計(1)窗體構(gòu)造函數(shù)設計當窗體運行時,需要接收表示學生編號的stuid,可以使用Info.stuid

調(diào)用或者使用構(gòu)造函數(shù)接收,這里使用構(gòu)造函數(shù)進行接收,需要重載構(gòu)造函數(shù),把stuid的值顯示在控件textstuid的Text屬性上。(2)窗體載入事件設計當窗體載入時,根據(jù)stuid查詢通訊錄信息,如果沒有數(shù)據(jù),則顯示提示信息,然后顯示添加信息界面;如果有信息存在,則顯示數(shù)據(jù)庫中的信息。8.4.3窗體設計(3)“保存”按鈕單擊事件設計

“保存”按鈕實現(xiàn)信息的添加或者修改,這里根據(jù)stuid查詢addressbook的結(jié)果確定執(zhí)行信息的添加或修改。(4)“修改”按鈕單擊事件設計

“修改”按鈕實現(xiàn)在查看記錄的狀態(tài)下,單擊實現(xiàn)可編輯控件的編輯狀態(tài),以便修改,修改后需要單擊“保存”按鈕實現(xiàn)信息保存功能。(5)“關(guān)閉”按鈕單擊事件設計

“關(guān)閉”按鈕實現(xiàn)窗體的關(guān)閉功能。8.4.3窗體設計3.調(diào)試窗體了驗證窗體的正確與否,修改JianLiApp中Program類中的Main方法,并傳遞新的user表中stuid為“20”的用戶信息,實現(xiàn)通訊錄信息的添加和修改,讓程序從該窗體運行。8.4.3窗體設計圖8-4-2提示信息圖8-4-3添加通訊錄圖8-4-4修改通訊錄

在主窗體ResumeMainFrm的“學生信息管理”主菜單下,通過子菜單項“個人通訊錄維護”的單擊事件關(guān)聯(lián)到學生信息維護窗體,單擊事件代碼如下。privatevoid個人通訊錄維護ToolStripMenuItem_Click(objectsender,EventArgse){AddressFrmll=newAddressFrm(Info.stuid);ll.MdiParent=this;ll.Show();}8.4.4主窗體調(diào)用代碼設計8.5.1任務分析簡歷信息主要用于添加與瀏覽、修改學生本人的簡歷,該簡歷用于公司挑選人員的條件,認真填寫建立信息非常重要。功能算法如下。1.登錄系統(tǒng)后,根據(jù)stuid查詢簡歷情況,該方法添加到簡歷操作類ResumeDAO中,方法名稱為SelectResumeByStuid,如果沒有信息,則顯示提示信息。然后實現(xiàn)信息的添加操作,該方法添加到簡歷操作類ResumeDAO中,方法名稱為AddResume。如果有信息,則完成步驟2。8.5任務5簡歷信息維護2.根據(jù)stuid檢索簡歷信息,并把簡歷信息顯示出來。3.可以對簡歷信息進行修改并保存,修改方法添加到簡歷操作類ResumeDAO中,方法名稱為UpdateResume。8.5任務5簡歷信息維護1.查詢簡歷該方法實現(xiàn)根據(jù)stuid查詢簡歷情況,如果查詢成功則返回一個Resume對象,否則,該對象為空。該方法添加到簡歷操作類ResumeDAO中,方法名稱為SelectResumeByStuid,傳遞參數(shù)為int類型的stuid,并通過調(diào)用一個返回值為SqlDataReader類型的檢索方法SelectResumeone進行實現(xiàn)。8.5.2任務實施2.添加簡歷添加簡歷信息實現(xiàn)將Resume對象添加到數(shù)據(jù)庫中,該方法在簡歷操作類ResumeDAO中,方法名稱為AddResume。3.修改簡歷信息修改簡歷信息時,根據(jù)stuid進行修改,但是stuid不能被修改,該方法在類ResumeDAO中,方法名稱為UpdateResume。8.5.2任務實施圖8-4-1主要經(jīng)歷圖8-4-2自我鑒定圖8-4-3求職意向8.5.3窗體設計1.控件設計8.5.3窗體設計2.代碼設計(1)ResumeFrm構(gòu)造函數(shù)該窗體運行需要加載類庫命名空間:usingJianLiClass;當窗體載入時,需要根據(jù)stuid查詢學生簡歷信息,stuid需要通過構(gòu)造函數(shù)傳遞,需要重載窗體的構(gòu)造函數(shù)吧;另外,在簡歷保存時,需要把信息封裝在一個Resume對象內(nèi),這里通過添加兩個成員:stuid及對象成員rr。8.5.3窗體設計(2)窗體載入事件窗體載入時,需要根據(jù)stuid查詢學生簡歷信息,如不存在,則給出提示信息,并且“修改簡歷”按鈕不可用;否則,在窗體上顯示其信息,并且“保存簡歷”不可用。(3)“保存簡歷”單擊事件

“保存簡歷”用于實現(xiàn)簡歷信息的保存,這里在窗體類中定義一個方法getinfo()實現(xiàn)將窗體信息進行封裝,主要難點是是對TreeView與CheckedListBox的數(shù)據(jù)讀取。當TreeView中節(jié)點的Checked屬性為true時,添加到字段值并添加空格“

”便于讀??;CheckedListBox中ItemChecked的Text屬性進行保存,使用“,”分割。8.7用人單位檢索學生簡歷8.7.1任務分析用人單位根據(jù)需要檢索學生信息,主要的難點就是條件如何組合實施檢索,主要用到的學生信息的檢索方法,這里使用獲取對應的檢索條件的sql語句的方法GetSql以及檢索符合條件的方法Getfuhetiaojian實現(xiàn)相應的功能。在類庫JianLiClass中添加類CompanyDAO,實現(xiàn)這兩個方法。8.7.2任務實施1.獲取對應的檢索條件獲取檢索條件時根據(jù)傳遞的Student對象信息以及Resume信息進行組合sql語句。2.檢索符合條件的學生根據(jù)傳遞的Student信息與resume信息要求,調(diào)用上面sql語句生成的方法,實現(xiàn)符合條件的學生檢索方法,該方法返回一個數(shù)據(jù)集DataSet對象。8.7.3窗體設計1.控件設計在JianLiApp中添加公司檢索符合條件的學生的窗體CompanyRecruitfrm,并設定MinimumSize和Maximumsize與Size相同??丶脑O計如圖所示。8.7.3窗體設計2.代碼設計(1)在CompanyRecruitfrm的系統(tǒng)命名空間中添加類庫命名空間并聲明一個DataSet成員ds。代碼如下。usingJianLiClass在窗體類中添加成員代碼如下。DataSetds=newDataSet();(2)“查找符合條件的求職者”單擊事件“查找符合條件的求職者”根據(jù)界面上選擇條件的組合,檢索符合條件的數(shù)據(jù)集DataSet,并實現(xiàn)數(shù)據(jù)綁定。8.7.3窗體設計(3)單擊dataGridView1時,將dataGridView1選中的學生信息傳遞給StudentDetailfrm窗體,并顯示,可在StudentDetailfrm實現(xiàn)學生簡歷信息的瀏覽、保存3.調(diào)試窗體修改JianLiApp中的Program類中的Main方法,代碼如下。staticvoidMain(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(newCompanyRecruitfrm());}

8.7.3窗體設計4.運行結(jié)果如下。8.7.4登錄窗體調(diào)用代碼設計

在系統(tǒng)登錄時,用人單位通過登錄窗體上的按鈕“用人單位入口”單擊事件進入該窗體。代碼如下。privatevoidbutton3_Click(objectsender,EventArgse){Info.user="公司";this.Close();

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論