asp.net就業(yè)管理系統(tǒng)(論文).doc_第1頁
asp.net就業(yè)管理系統(tǒng)(論文).doc_第2頁
asp.net就業(yè)管理系統(tǒng)(論文).doc_第3頁
asp.net就業(yè)管理系統(tǒng)(論文).doc_第4頁
asp.net就業(yè)管理系統(tǒng)(論文).doc_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

河南大學2007屆本科畢業(yè)論文軟通動力學員就業(yè)管理系統(tǒng)的開發(fā)the development of iss staff employment management system論文作者姓名:王濤 所在學院:計算機與信息工程學院 所學專業(yè):計算機科學與技術 導師姓名職稱:程云志(講師) 論文完成時間:2007年5月20日 2007年5月20日河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)開題報告(由學生本人認真填寫)學號03023216姓名王濤導師姓名職稱程云志(講師)開題時間2006年12月1日課題題目軟通動力學員就業(yè)管理系統(tǒng)的開發(fā)課題來源導師指定 自定 其他來源課題的目的、意義以及和本課題有關的國內外現狀分析:1、目的:為了便于就業(yè)部員工更好的管理學員就業(yè)信息和發(fā)布面試通知等信息,同時學員也能更及時地了解到最新的就業(yè)信息和面試成績,因此需開發(fā)出一個能提供給員工和學員使用的系統(tǒng)來管理和查看就業(yè)信息。2、意義:可以提高就業(yè)部員工的工作效率,減少工作負擔,為公司節(jié)省了人力資源,提高培訓學員的就業(yè)率。3、現狀:目前對信息的統(tǒng)計管理大多還依靠員工的手寫統(tǒng)計和簡單表格數據的處理,消息通知還依靠員工口頭通知。研究目標、研究內容和準備解決的問題:1、目標:提供給管理人員一個對就業(yè)信息、招聘信息、招聘公司信息的管理平臺,而學員在此可以了解到歷屆學員就業(yè)信息和最新的招聘信息、面試通知和面試成績等。2、內容:需研究員工的工作流程,在工作流程中交互的基本信息都是什么及信息的組織方式,以及員工期望對現有功能的額外擴充。同時需了解學員希望在此了解到的信息。3、準備解決的問題:各種就業(yè)相關信息在數據庫的組織方式及關聯(lián)性,把員工的工作流程轉換成系統(tǒng)功能邏輯,如何提高系統(tǒng)的安全性,使系統(tǒng)安全、易于使用。擬采取的方法、技術或設計(開發(fā))工具:采取visual studio 2005開發(fā)工具和sql server 2005數據庫相結合利用c#開發(fā)的基于b/s模式的系統(tǒng)預期成果:1、畢業(yè)設計成果軟通動力學員就業(yè)管理系統(tǒng)軟件2、畢業(yè)論文軟通動力學員就業(yè)管理系統(tǒng)的開發(fā)進度計劃:2006.12.1 - 2007.2.1:查找資料、搜集相關素材2007.2.2 - 2007.3.11:完成數據庫和數據庫基類部分的設計2007.3.12 - 2007.3.21:完成自定義控件、母版頁、招聘信息和公司信息模塊部分的設計2007.3.22 - 2007.4.30:完成就業(yè)信息、面試公告和面試記錄模塊部分的設計2007.5.1 - 2007.5.20:整理資料、撰寫畢業(yè)論文2007.5.20 - 2007.5.25:根據導師要求,完善畢業(yè)設計和論文指導教師對選題報告的意見: 同意開題 指導教師簽名: 2006年12月1日開題報告ii河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)任務書(由學生本人認真填寫)學號03023216姓名王濤導師姓名程云志任務書起止日期2006年12月8日 至 2007年5月20日論文提要:本論文以實戰(zhàn)項目開發(fā)為主線,主要介紹了:系統(tǒng)實現的全過程(包括項目開發(fā)的需求分析、概要設計、詳細設計、編碼實現等重要環(huán)節(jié))2、相關數據庫理論應用的介紹3、項目設計的主要技術實現及理論背景的介紹,主要項目功能及相關實現的介紹等等。課題任務要求:1、了解整個工作流程中設計到的信息傳遞和存儲。2、熟悉visual studio 2005開發(fā)平臺、sql 2005的使用及c#語言的應用。3、熟悉并劃分出系統(tǒng)的功能模塊,規(guī)劃好系統(tǒng)的整體開發(fā)進程。4、實現:學員就業(yè)信息、公司招聘信息、招聘公司資料、招聘公告、面試公告、面試記錄等信息的管理,同時實現各種針對學員的有效信息的發(fā)布與修改。主要參考文獻:1 馬駿、何欣等編著,c#網絡編程及應用,機械工業(yè)出版社,2005年7月2劉楊編著,突破c#編程實例五十講,中國水利水電出版社,2002年9月3劉瑞新著,c#網絡編程及應用開發(fā)實例與習題解答,機械工業(yè)出版社,2004年6月4 karli watson著,c#2005數據庫編程經典教程,人民郵電出版社,2007年4月5 donis marshall,visual c#2005技術內幕,清華大學出版社,2007年1月河南大學2007屆畢業(yè)設計(論文、創(chuàng)作)中期檢查表學院名稱:計算機與信息工程學院題目名稱軟通動力學員就業(yè)管理系統(tǒng)的開發(fā)學號03023216所學專業(yè)計算機科學與技術指導教師姓 名程云志姓名王濤一、畢業(yè)設計進展情況1、已經完成需求分析、概要設計、詳細設計等前期工作;2、完成了相關知識的了解與學習,相關資料搜集,相關開發(fā)平臺、開發(fā)語言的學習;3、進入編碼實現階段,初步完成了數據庫基類和數據庫層的設計,并且業(yè)務層中招聘信息管理和招聘公司信息管理模塊的已完成。二、存在問題數據庫基類的方法還不能完全滿足滿足業(yè)務層對數據庫的各種篩選,由于需求分析的不徹底,未能完全分析出所有的數據請求,所以寫的方法還不夠完整,不能完全體現出數據層的功能,另外業(yè)務邏輯層中的部分代碼還未完成。三、下一階段的研究方法或設計思路設計出合理、簡化的系統(tǒng)整體界面,因此要合理利用母版頁和自定義控件,減少頁面設計代碼量,頁面設計中計劃主要分三個部分,每個部分由所設計出的各種自定義控件和其他控件組成,并將其與業(yè)務邏輯層及數據庫層連接在一起,完成系統(tǒng)所需功能。在時間允許的情況下進行相關功能擴展。四、指導教師對學生設計(論文、創(chuàng)作)進展等方面的評語 程序設計進展適中,系統(tǒng)的需求分析、數據庫的設計、部分功能模塊雛形等基本完成。論文已經著手書寫。整體上的進度符合中期檢查的要求。 指導教師簽字: 2007年4 月 10日此表除第四項外由學生填寫指導教師簽名河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)綜合成績表(一)學院名稱:計算機與信息工程學院學 號03023216姓名王濤專業(yè)計算機科學與技術指導教師程云志(講師)綜合得分86論文題目軟通動力學員就業(yè)管理系統(tǒng)的開發(fā)指導教師評語及得分指導教師評語該論文語句通順,條理清晰,格式符合要求,論文的論點較為突出,論證較為合理。該就業(yè)管理系統(tǒng)功能強大,安全性高,符合本科生論文要求。評分項目分值指導教師對畢業(yè)論文(設計、創(chuàng)作)評分撰寫開題報告、文獻綜述15調查研究查閱整理資料10學習態(tài)度與規(guī)范要求10數據處理、文字表達10論文(設計、創(chuàng)作)質量和創(chuàng)新意識55合計100得分1291074886指導教師簽名 2007年5月20日評閱教師評語及評分評閱教師評語該論文語句通順,條理清晰,格式符合要求,論文的論點較為突出,論證較為合理。就業(yè)管理系統(tǒng)能夠為公司提供強大的管理服務,符合本科生論文要求。評分項目分值評閱畢業(yè)論文(設計、創(chuàng)作)評分撰寫開題報告、文獻綜述15調查研究查閱整理資料10學習態(tài)度與規(guī)范要求10數據處理、文字表達10論文(設計、創(chuàng)作)質量和創(chuàng)新意識55合計100得分1281074885評閱教師簽名 2007年5月20日此表由教師填寫河南大學2007屆畢業(yè)論文(設計、創(chuàng)作)綜合成績表(二)學號03023216姓名王濤所在學院計算機與信息工程學院答辯委員會評語及評分答辯委員會評語該生答辯時,對于就業(yè)管理系統(tǒng)的開發(fā)、設計以及具體的實現都能詳細說明。對于所提問題,反映敏捷,基礎知識扎實,描述清楚。答辯委員簽字: 2007年5月26日評分 項目 分值論文答辯小組評分答辯情況論文質量合計(100)內容表達情況(15)答辯問題情況(25)規(guī)范要求與文字表達(20)論文(設計、創(chuàng)作)質量和創(chuàng)新意識(40)得分1222183386答辯委員會主任簽字: 2007年5月26日畢業(yè)論文(設計、創(chuàng)作)成績綜合評定: 86分綜合評定等級: 良備注:一、論文的質量評定,應包括對論文的語言表達、結構層次、邏輯性理論分析、設計計算、分析和概括能力及在論文中是否有新的見解或創(chuàng)新性成果等做出評價。從論文來看學生掌握本專業(yè)基礎理論和基本技能的程度。二、成績評定采用結構評分法,即由指導教師、評閱教師和答辯委員會分別給分(以百分計),評閱教師得分乘以20%加上指導教師得分乘以20%加上答辯委員會得分乘以60%即綜合成績。評估等級按優(yōu)、良、中、差劃分,優(yōu)90-100分;良76-89分;中60-75分;差60分以下。三、評分由專業(yè)教研室或院組織專門評分小組(不少于5人),根據指導教師和答辯委員會意見決定每個學生的分數,在有爭議時,應由答辯委員會進行表決。四、畢業(yè)論文答辯工作結束后,各院應于6月20日前向教務處推薦優(yōu)秀論文以匯編成冊,推薦的篇數為按當年學院畢業(yè)生人數的1.5%篇。五、各院亦可根據本專業(yè)的不同情況,制定相應的具有自己特色的內容。須報教務處備案。六、書寫格式要求:1、目錄;2、內容提要須書寫200左右漢字,開題報告(文科除外)的內容要根據不同專業(yè)的課題任務要求,闡述查閱文獻、文案論證、解題思路、工作步驟等;3、正文(含引言、結論等);4、參考文獻(或資料)河南大學本科生畢業(yè)論文(設計、創(chuàng)作)承諾書論文題目軟通動力學員就業(yè)管理系統(tǒng)的開發(fā)姓 名王濤所學專業(yè)計算機科學與技術學 號03023216完成時間2007年5 月20日指導教師姓名職稱程云志(講師)承諾內容:1、本畢業(yè)論文(設計、創(chuàng)作)是學生 王濤 在導師 程云志 的指導下獨立完成的,沒有抄襲、剽竊他人成果,沒有請人代做,若在畢業(yè)論文(設計、創(chuàng)作)的各種檢查、評比中被發(fā)現有以上行為,愿按學校有關規(guī)定接受處理,并承擔相應的法律責任。2、學校有權保留并向上級有關部門送交本畢業(yè)論文(設計、創(chuàng)作)的復印件和磁盤。備注:學生簽名: 指導教師簽名: 2007年5月20日 2007年5月20日說明:學生畢業(yè)論文(設計、創(chuàng)作)如有保密等要求,請在備注中明確,承諾內容第2條即以備注為準。目 錄摘 要iabstractii第1章 緒論11.1 開發(fā)背景及意義11.2 開發(fā)軟件簡介1第2章 系統(tǒng)開發(fā)技術基礎22.1 ado.net數據訪問22.1.1 數據訪問方法22.1.2 存儲過程32.2 自定義控件32.3 三層架構5第3章 系統(tǒng)分析與概要設計63.1 軟通動力學員就業(yè)管理系統(tǒng)數據庫設計63.2 系統(tǒng)分析與功能設計73.2.1 用戶登錄73.2.2 就業(yè)信息管理7第4章 就業(yè)管理系統(tǒng)的實現94.1 就業(yè)管理系統(tǒng)中的數據訪問94.1.1 basedataaccess類94.1.2 dataaccess類104.1.3 entities層114.1.4 sqlhelper類114.2 詳細設計124.2.1 創(chuàng)建面試記錄124.2.2 面試記錄的編輯更新144.2.3 刪除面試記錄的實現154.2.4 系統(tǒng)搜索功能模塊15結 論17參考文獻18河南大學本科畢業(yè)生學士學位論文摘 要軟通動力學員就業(yè)管理系統(tǒng)主要實現了學員就業(yè)信息的管理、招聘信息和面試成績的發(fā)布、招聘公司信息的管理及信息統(tǒng)計。論文首先介紹了軟通動力學員就業(yè)管理系統(tǒng)開發(fā)的背景及目的,其次對開發(fā)必須的軟件進行了簡單的介紹,系統(tǒng)的開發(fā)技術基礎介紹也是必不可少的,在其中介紹了數據訪問、自定義控件、系統(tǒng)開發(fā)模式等技術特色。論文接著對系統(tǒng)開發(fā)的數據庫設計和概要設計進行了闡述,其后論文就系統(tǒng)中的數據訪問關鍵類及核心方法進行了詳細介紹,最后介紹了系統(tǒng)部分功能模塊的核心算法和實現。關鍵詞:三層架構,自定義控件,數據訪問,信息管理abstractlink iss staff employment management system placement of trainees main employment information management, recruitment information and interview results released recruitment company information management and information statistics. the paper firstly introduces the background of iss staff employment management system and purpose, secondly, the development of the necessary software is simply introduced, the system based on the development of technology is essential. in presenting the data access, usercontrols and systems development mode technology characteristics. papers proceeded to the development of database systems design and outline design of the exposition, later papers on the system data access class and visit key core methods are described in detail, finally, papers introduces the system of functional modules of the core algorithm and implementation.keywords:three-tier structure, user controls,data access ,information management第 17 頁第1章 緒論隨著近年來軟通動力公司培訓業(yè)務的發(fā)展,所培訓的學員日益增多,而對學員信息的管理工作還采用人工管理的方式,導致了信息管理工作無法適應公司發(fā)展。系統(tǒng)正是在此背景下提出了,系統(tǒng)以visual studio 2005為開發(fā)工具,借助sql server 2005這一強大的數據庫管理系統(tǒng)來實現對學員信息的現代化管理。1.1 開發(fā)背景及意義軟通動力技術培訓有限公司是軟通動力創(chuàng)建的培養(yǎng)國際化軟件人才的it實戰(zhàn)培訓基地。軟通動力軟件實訓工程開始于2002年,目前已在北京、武漢、無錫等地建立了大型實戰(zhàn)教學基地,年增長率300%。因此對學員信息的管理統(tǒng)計成為一個必不可少的工作。本系統(tǒng)使用方便、可靠性高、成本低。使用該系統(tǒng)可以提高公司就業(yè)部工作人員的工作效率,同時提供給學員一個更方便的就業(yè)信息途徑。1.2 開發(fā)軟件簡介visual studio 2005是microsoft為實現.net技術而開發(fā)的一套工具組件,具有全新的獨一無二的集成開發(fā)環(huán)境及編程語言c#。c#是從c和c+演變而來的一種簡單的、面向對象的和類型安全的新型程序設計語言。c#幾乎綜合了目前所有高級語言的優(yōu)點,主要特點是語法簡潔,精心設計的面向對象設計,與web的緊密結合,完全的安全性和錯誤處理,易于使用的版本處理技術,很好的靈活性和兼容性。因此c#是一種不錯的軟件開發(fā)語言。第2章 系統(tǒng)開發(fā)技術基礎系統(tǒng)在開發(fā)過程中運用了三層架構開發(fā)模式,同時結合了大量自定義控件的使用,這些技術的運用降低了系統(tǒng)的代碼量的冗余,同時ado.net數據訪問技術的運用使得數據訪問更安全和數據管理方式多元化。2.1 ado.net數據訪問microsoft最早提出的開放數據互聯(lián)的技術現在已經成為計算機業(yè)界的標準數據庫接口,繼而又提出了ado(activex data objects)的設想。統(tǒng)一數據訪問技術是一個開放的技術體系,不同的開發(fā)工具,不同的高級程序設計語言都可以采用統(tǒng)一數據訪問技術來開發(fā)應用項目。ado.net是在ado的基礎之上發(fā)展起來的,它提供一個適用于創(chuàng)建分布式的、共享的數據庫應用程序標準編程接口。microsoft最新推出的sql server 2005在吸收sql server 2000優(yōu)點的同時又增加了很多新的功能。本系統(tǒng)采用的數據庫系統(tǒng)是sql server 2005數據庫管理系統(tǒng)。2.1.1 數據訪問方法要建立和數據提供者之間的連接,可以通過sqlconnection對象來實現。整個數據訪問過程如下:1. 創(chuàng)建連接數據源字符串系統(tǒng)與sql server 2005的數據庫連接字符串代碼如下:string connstr=”server=;database=northwind;uid=sa;pwd=sa;”;2. 使用sqlconnection對象打開連接sqlconnection myconn=new sqlconnection(connstr);myconn.open();3. 使用sqlcommand對象執(zhí)行sql命令string sqlstr=”select * from mng_user”;sqlcommand mycommand=new sqlcommand(sqlstr,myconn);4. 使用sqldatareader來獲取數據sqldatareader sdr=mycommand.executereader();或使用sqldataadapter對象來完成數據存取sqldataadapter adadapter = new sqldataadapter();adadapter.selectcommand = new sqlcommand(sqlstr, myconn);datatable tempdatatable = new datatable();adadapter.fill(tempdatatable);5. 關閉連接myconn.close();2.1.2 存儲過程存儲過程實際上就是一系列sql語句的集合,是數據庫對象之一。使用存儲過程的優(yōu)點如下:(1) 存儲過程在服務器端運行,執(zhí)行速度快,因為服務器不必每次執(zhí)行時都分析和編譯它。(2) 確保數據庫安全。使用存儲過程可以完成所有的數據庫操作,并可通過編程方式控制上述操作對數據庫信息訪問的權限。(3) 調用存儲過程可以認為是一個三層架構,這使程序易于維護,如果程序需要做一些改動,只需改動存儲過程即可。在就業(yè)管理系統(tǒng)中用到了帶參數的存儲過程來實現用戶對數據的過濾組合查詢。創(chuàng)建存儲過程語法格式如下:creat proc parameter1 data_type=默認值parametern data_type=默認值asselect * from table_name where clomn1=parameter andand clomn2=paremetern2.2 自定義控件用戶控件能夠很容易地跨web應用程序和公共ui層(user interface)應用。與web窗體頁相同,并可以使用任何文本編輯器創(chuàng)作這些控件,或者使用代碼隱藏類開發(fā)這些控件。此外,與web窗體頁一樣,用戶控件可以在第一次請求時被編譯并存儲在服務器內存中,從而縮短以后請求的響應時間。但與web窗體頁不同的是,不能獨立地請求用戶控件,用戶控件必須包括在web窗體頁內才能使用。與ssi(服務器端包含文件)相比,用戶控件通過訪問由asp.net提供的對象模型支持,具有更大的靈活性。可以在控件中聲明的任何屬性進行編程,而不只是包含其他文件提供的功能,這與其他任何asp.net服務器控件一樣。盡管在創(chuàng)作用戶控件時需要選擇一種語言,但可以將多個用戶控件包含在用多種語言創(chuàng)作的一個web窗體頁中。在學員管理系統(tǒng)中就用到了很多這樣的控件,在項目開發(fā)過程中這些具備特殊功能的控件不但可以減少部份代碼的重寫,而且提高了項目開發(fā)效率并且更方便簡單。如下邊的一個用戶文本框代碼如下:/自定義textbox,其中包含多個自定義控件,以方便的實現對各種驗證的封裝public class custtextbox:compositecontrolprivate textbox=new textbox();private requiredfieldvalidator require=new requiredfieldvalidator();/定義屬性來控制是否對控件進行驗證private bool _enablerequiredfieldvalidator = false;category(requiredfieldvalidator),browsable(true),description(requiredfieldvalidator enable),defaultvalue(false)public bool enablerequiredfieldvalidatorgetreturn this._enablerequiredfieldvalidator;set this._enablerequiredfieldvalidator = value; /重寫事件來決定是否啟用驗證控件和控制驗證控件的輸出protected override void createchildcontrols()if (!childcontrolscreated) if (this._enablerequiredfieldvalidator)this.require.id = require1;this.require.controltovalidate = this.box.id;this.require.errormessage = 請?zhí)顚?+ this._requirevalidatorerrmsg + ;this.require.enabled=this._enablerequiredfieldvalidor;this.require.display = validatordisplay.none;this.controls.add(require);2.3 三層架構三層架構是目前軟件開發(fā)所用到的最普遍的開發(fā)模式,它分為ui層、業(yè)務邏輯層和數據庫層。三層架構的應用使得程序增強了可維護性,增加了系統(tǒng)的清晰度,便于擴充,實現了對功能的開放和對修改的封閉。它使得企業(yè)可以專注于他們的專門領域,有利于發(fā)揮所有人的優(yōu)勢并提高開發(fā)效率,同時降低了企業(yè)的開發(fā)成本。三層體系的應用程序將業(yè)務規(guī)則、數據訪問、合法性校驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與數據庫進行交互,而是通過com/dcom通訊與中間層建立連接,再經由中間層與數據庫進行交互。第3章 系統(tǒng)分析與概要設計系統(tǒng)設計的成功與否與系統(tǒng)數據庫設計的合理有著直接的關系,對數據庫設計一定要能夠將系統(tǒng)基本信息組織起來。系統(tǒng)是在b/s模式下開發(fā)的,同時需要對用戶權限設置,系統(tǒng)主要是為就業(yè)信息管理開發(fā)的,因此用戶登錄和就業(yè)信息管理是兩個重要的功能模塊。3.1 軟通動力學員就業(yè)管理系統(tǒng)數據庫設計該就業(yè)管理系統(tǒng)主要用到以下幾個數據庫表模型:employeementrecord為就業(yè)信息表,employfaceexamrecord為面試信息表,employeementcompany為公司信息表,employmentinfo為招聘信息表,employmentnotice為面試公告信息表。它們的關系如圖3-1所示。圖3-1 數據庫中表關系圖3.2 系統(tǒng)分析與功能設計在學員就業(yè)管理系統(tǒng)中,就業(yè)部和學員登錄后可以分別有不同的權限操作。就業(yè)部員工可以添加有意向招聘學員的公司信息和面試公告,并在招聘公司資料改變時及時更新公司信息,同時提供了公布面試記錄的功能,以幫助學員得到最新的招聘信息和面試成績,同時可以更新各種學員就業(yè)數據。學員在此系統(tǒng)中可以查詢到最新的招聘信息、面試成績以及學員就業(yè)信息的統(tǒng)計,更好幫助學員分析出當前就業(yè)形勢,從而幫助學員改善就業(yè)狀況。3.2.1 用戶登錄系統(tǒng)分為兩種用戶:學員和員工。首先用戶登錄系統(tǒng)后,系統(tǒng)根據不同的用戶類型確定頁面顯示方式。就業(yè)部員工和管理員可以更新和刪除各種就業(yè)相關信息,而學生只能查看信息資料,不能對其進行修改。在數據庫的學員表和員工表中都有自己的用戶名和密碼字段。首先用戶在登錄時選擇是員工登錄還是學員登錄,這樣系統(tǒng)會在不同的數據庫表中查找匹配項,實現用戶驗證功能。由于系統(tǒng)是在b/s模式下開發(fā)的,因而安全性問題必不可少。本系統(tǒng)采用md5算法實現密碼的加密操作,系統(tǒng)在讀取客戶端數據時先對數據進行加密,然后和數據庫中已經加密的記錄匹配,保證數據安全。3.2.2 就業(yè)信息管理就業(yè)部員工登錄系統(tǒng)后可以在不同模塊查看相關的不同信息,由于不同模塊間業(yè)務形式雖然不同,但是在具體數據操作上還是有很多共同之處。例如對招聘信息的更新操作,此頁面中的數據都根據查詢字符串傳進的id來對頁面中的數據進行綁定,此頁面與新增操作頁面是相同的,通過查詢字符串是否傳入參數來判斷此時是新增招聘信息業(yè)務還是更新招聘信息業(yè)務,公司選擇公司名稱(放大鏡),并選擇招聘方向,填寫相關的如招聘人數、截至日期等信息。為了幫助用戶更快找到操作對象,在每個模塊的主頁面中均列出了依據關鍵信息搜索,這些搜索條件多是由textbox和綁定好的dropdownlist實現的,同時可查看到每條記錄的詳細信息,其中對學員就業(yè)信息模塊中的操作必須為已畢業(yè)學員,因此在添加學員就業(yè)信息記錄時必須對提取的數據進行限制。第4章 就業(yè)管理系統(tǒng)的實現數據訪問的實現是系統(tǒng)設計中很重要的一部分,它直接關系到整個系統(tǒng)能否成功實現用戶對信息管理的需求。在本章中詳細介紹了就業(yè)管理系統(tǒng)中的數據訪問,同時介紹了本系統(tǒng)的部分功能實現。4.1 就業(yè)管理系統(tǒng)中的數據訪問在軟通學員反饋管理系統(tǒng)中有專門的數據訪問層dataaccess。此層中的類都是繼承基類basedataaccess,通過調用此類的方法,得到數據集dataset。本系統(tǒng)用的是自定義dataset,每個表返回一個不同的dataset,這種自定義數據集可以準確的記錄數據表的數據行、字段等信息。由于系統(tǒng)采用的是三層架構開發(fā)模式,對數據的處理轉移到數據庫層及及其底層數據訪問類,因為在查詢中需要構造查詢條件,因此需要提出了sqlhelper類來滿足此需求,數據層中需要數據取出、更新等操作,因此提出了basedataaccess類供數據庫層進行系統(tǒng)與數據庫訪問使用。4.1.1 basedataaccess類此類為數據庫訪問基類,為以后所有數據庫操作提供基礎,包括事務處理和獲取數據庫連接。它為dataaccess(即數據庫訪問層)提供了很多方法基礎:(1)connect()打開數據庫連接,disconnect()關閉數據庫連接。(2)begintransaction()開始事務,并返回一個事務對象。commit()提交數據庫事務,rollback()事務執(zhí)行失敗,回滾。(3)filldata(sqldataadapter sda, dataset ds, commandtype cmdtype, string strquerystring)根據查詢條件查詢數據并添加到數據集(7個重載),sda為查詢數據集適配器,ds為數據集,cmdtype為執(zhí)行命令類型,可能是存儲過程或者string類型的sql查詢語句,strquerystring為存儲過程名或者string類型的sql查詢語句。(4)為updatedata(sqldataadapter sda, datatable dt)更新傳入的數據集中的數據(2個重載)。sda為查詢數據集適配器,dt為要更新數據的數據表。(5)getdatacount(string strquerystring)查詢記錄行數getscalar(string strquerystring)返回查詢的第一行第一個列executenonquery(string sqlstr)執(zhí)行一條sql語句executestoreprocedure(datatable dt, string spname, hashtable ht)調用spname存儲過程查詢。(6)executestoreprocedure(string spname, hashtable ht)調用spname非查詢的spname存儲過程。(7)executestoreprocedurescalar(string spname, hashtable ht) 調用只返回一個值的spname存儲過程。(8)executestoreprocedure(string returnvaluename, string spname, hashtable ht) 帶返回值參數的調用非查詢的spname存儲過程。4.1.2 dataaccess類數據庫訪問層都繼承基類basedataaccess,每個表都有自己的數據庫訪問層。在軟通學員反饋系統(tǒng)中,主要應用到以下幾個數據庫訪問類:dafeedbackstandard.cs、dafeedbackstandarditem.cs、dastudentfeedback.cs、dastudentfeedbackdtl.cs和dastudentfeedbacktype.cs。當需要對這些表進行訪問操作時,這些類自動生成sqlcommand命令,并為sqldataadapter生成各種command命令。同時,這些類為外部訪問提供了很多方法:(1)getonebyid(int id)根據標識列查詢。(2)update(dsfeedbackstandard ds)添加、更新、刪除。(3)gettop(int top, string viewname, string filter)查詢和表feedbackstandard相關的指定視圖前多少行數據。(4)getsome(string viewname, string filter)查詢和表feedbackstandard相關的指定視圖的數據。(5)getdataset(string viewname, string filter)返回dataset。(6)select(string viewname, string filter, int pagesize, int pageindex, ref int rowscount)分頁查詢和表feedbackstandard相關的指定視圖的數據。4.1.3 entities層數據實體層都繼承自dataset類,它為一種自定義數據集合。對于不同的表產生不同的數據集,在軟通學員反饋系統(tǒng)中,主要用到以下幾個數據集:dsemployementrecord、dsemployfaceexamrecord、dsemploymentcompany、dsemploymentinfo和dsemploymentnotice。在這些數據集中包含了表集合、行集合、事件集合等。例如,在數據集dsemployementrecord中employementrecorddatatable為表集合(繼承自datatable),employementrecordrow為行集合(繼承自datarow),employementrecordrowchangeevent為事件集合(繼承自eventargs)。4.1.4 sqlhelper類這個類是用來構造sql語句的工具類。為了避免在ui層、br層都反復使用sql語句,造成數據庫訪問混亂,提高程序的可維護性和可擴展性,系統(tǒng)專門用到sql構造工具類。此類幾乎包含了所有需要用到的sql語句構造方法:(1)addcondition(string _tablename, string _fieldname, operator _operator, datatype _datatype, string _value, string _controlid) 添加查詢條件,基礎方法(7個重載)。_tablename為表名或別名,可為空串(如果字段名唯一,不需要加表名或別名標識),_fieldname為字段名,_operator為運算符號,_datatype為數據類型,_value為比較值,_controlid為對應的控件id。(2)addordercondition(string _tablename, string _fieldname, bool _isdesc, string _fieldcontrolid, string _ordercontrolid) 添加排序條件,基礎方法(3個重載)。_tablename為表名或別名,可為空串(如果字段名唯一,不需要加表名或別名標識),_fieldname為字段名,_isdesc為排序方式:是否倒序,_fieldcontrolid為字段名對應的控件id,_ordercontrolid為排序方式對應的控件id。(3)getfiltercondition()返回查詢的條件語句,包含排序,例:and order by 或空串。4.2 詳細設計軟通動力學員就業(yè)管理系統(tǒng)是軟通動力學員管理系統(tǒng)中的一部分。在就業(yè)管理系統(tǒng)中主要包括招聘信息、招聘公司信息、面試公告、面試記錄、學員就業(yè)信息五部分。系統(tǒng)主界面如圖4-1所示。圖4-1 系統(tǒng)主界面下面將分別介紹就業(yè)管理模塊的各個子模塊。因為此模塊各子模塊功能實現在業(yè)務邏輯上較為相近,故詳細介紹面試記錄子模塊功能的實現。4.2.1 創(chuàng)建面試記錄在此功能模塊中要錄入面試公司、面試學員、面試地點、面試時間等信息,其中面試公司和面試學員的錄入是以模態(tài)窗口傳值的方式進行,而為了更方便用戶尋找所需信息,提供了搜索功能,它們的具體界面如圖4-2、4-3所示。圖4-2 增加面試記錄頁面圖4.3 模態(tài)窗口首先通過querystringid是否為空判斷所執(zhí)行任務時增加還是編輯,確定頁面控件的展現方式。然后用戶可以在這里填寫面試記錄信息,填寫完畢后提交時,將據此生成一條信息記錄,并將對應信息存放到記錄的各個字段中,然后更新數據集,其中bremployfaceexamrecord是面試記錄對應的業(yè)務層類,dsemployfaceexamrecord是其對應的實體層類獲得一條空記錄。實現新增面試記錄的主要代碼如下:dsemployfaceexamrecord.employfaceexamrecorddatatable newtable = ds.employfaceexamrecord;dsemployfaceexamrecord.employfaceexamrecordrow newrow=(dsemployfaceexamrecord.employfaceexamrecordrow)=newtable.newrow()給新記錄各字段賦值主要代碼如下:if (this.hiddenfield1.value != null & this.hiddenfield1.value != )newrow.companyid = int.parse(this.hiddenfield1.value); newrow.userid = loginhandler.currentuser.recid;newrow.createdate = datetime.now;更新數據集主要代碼如下。newtable.addemployfaceexamrecordrow(newrow);bs.update(ds);4.2.2 面試記錄的編輯更新首先當頁面加載時根據request.querystringid不為空,調用getmessage()來將頁面中的控件綁定到對應記錄的數據,在更新后相應字段獲取到最新更新的內容,更新數據集即可。主要代碼如下:protected void getmessage()int id = int.parse(request.querystringid);bremployfaceexamrecord bs = new bremployfaceexamrecord();dsemployfaceexamrecord ds = bs.getviewbyid(id);dsemployfaceexamrecord.employfaceexamrecordrow dr = (dsemployfaceexamrecord.employfaceexamrecordrow)ds.employfaceexamrecord.rows0;this.hiddenfield1.value = dr.companyid.tostring();this.hiddenfield2.value = dr.studentid.tostring();/顯示記錄this.lbl_recid.text = dr.recid.tostring(); /獲得id對應的一條記錄int id = int.parse(request.querystringid);dsemployfaceexamrecord ds = bs.getviewbyid(id); dsemployfaceexamrecord.employfaceexamrecordrow dr = (dsemployfaceexamrecord.employfaceexamrecordrow)ds.employfaceexamrecord.rows0;/修改原有記錄dr.companyid = int.parse(this.hiddenfield1.value);/更新記錄集bs.update(ds);4.2.3 刪除面試記錄的實現當通過custdatagrid的gridviewcommandeventargs的commandname為del時,可判斷用戶執(zhí)行刪除操作,此時可通過另一個參數commandargument來獲取到要刪除記錄的主鍵,則可調用業(yè)務層的delonebyid(int id)方法來刪除此條記錄。主要代碼如下:if (e.commandname = mydel)int key1 = int.parse(e.commandargument.tostring();bremployfaceexamrecord info = new bremployfaceexamrecord()

溫馨提示

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

評論

0/150

提交評論