版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p> 題 目 考勤管理系統(tǒng) </p><p> ---課程設(shè)計報告 </p><p> 課 程 名 稱 軟件項目實踐(一) </p><p> 院 部 名 稱 信息技術(shù)學(xué)院
2、 </p><p> 專 業(yè) 計算機科學(xué)與技術(shù) </p><p> 班 級 09計算機科學(xué)與技術(shù)(1) </p><p> 學(xué) 生 姓 名 XXX </p><p> 學(xué) 號 XX </p><p
3、> 課程設(shè)計地點 B407 </p><p> 課程設(shè)計學(xué)時 40 </p><p> 指 導(dǎo) 教 師 XX </p><p><b> 1導(dǎo)言</b></p><p><b>
4、 1、1系統(tǒng)開發(fā)目的</b></p><p> 考勤系統(tǒng)進行企業(yè)管理越來越適應(yīng)企業(yè)的需要,集信息的輸入,顯示,修改,刪除等各種處理,信息維護方便,給公司可以帶來很大的便利。</p><p><b> 1、2背景</b></p><p> 考勤管理系統(tǒng)利用計算機管理考勤工作,大大降低了工作人員的工作量,提高工作效率,對于員工們的
5、出勤率有個明顯的記錄,對于公司的職員也有基本了解根據(jù)出勤情況可以計算員工的實際工資。</p><p> 2、考勤管理系統(tǒng)的需求分析</p><p> 作為一個考勤系統(tǒng).最重要的功能當(dāng)數(shù)考勤了.也就是能夠?qū)T工上班簽到的日期與時間記錄下來。當(dāng)然.記錄下簽到信息后,應(yīng)該具有其他的輔助功能.比~II1"查詢員工某天的簽到情況”、”修改簽到情況”、”員工的維護”、”公司上班時間的設(shè)置
6、”等.下面就本系統(tǒng)完成的功能做一個簡單的需求分析。</p><p><b> 2、1簽到功能</b></p><p> 這是最核心的功能。當(dāng)員工上班后,輸入自己的員工號進行簽到操作.就可以把到達公司的時間記錄下來.并且保存到數(shù)據(jù)庫中,以備查詢。在簽到過程中,需要記錄的信息包括員工號、簽到的日期和簽到的具體時間,最好能把簽到的結(jié)果記錄下來.這些結(jié)果包括以下幾種:正常
7、、遲到、出差、請假、曠班。</p><p><b> 2、2查詢功能</b></p><p> 簽到功能中要求將員工上班的簽到情況記錄下來.也就是供以后查詢用。若要查詢某個員工在某段時問或者某天的出勤情況,只要輸入員工號,并輸入要查詢的日期.即可將此員工在當(dāng)天的出勤情況顯示出來</p><p><b> 2、3修改功能</
8、b></p><p> 對于出勤到公司的員工來說.通過簽到即可將簽到信息記錄下來,并且只有兩種結(jié)果”正?!焙汀边t到”??墒菍τ谝驗槟撤N原因(出差、請假等)不能到公司的員工來說,因為沒有簽到.就沒有當(dāng)天的出勤記錄。為此增加了修改功能,主管人員可以對員工的信息進行修改,將每個員工的出差請假等情況記錄下來。 </p
9、><p><b> 3、應(yīng)用環(huán)境</b></p><p><b> 客戶機為普通PC</b></p><p> CPU:P(R) 2.1GHz;</p><p><b> 內(nèi)存:2G</b></p><p><b> WindowXP等&
10、lt;/b></p><p><b> 分辨率適應(yīng)屏幕。</b></p><p><b> 4、功能規(guī)格</b></p><p><b> 考勤管理</b></p><p><b> 基本信息輸入</b></p><p&g
11、t;<b> 考勤統(tǒng)計</b></p><p><b> 日志查詢及統(tǒng)計</b></p><p><b> 5、性能需求</b></p><p> 確??煽啃?,保證信息的正確完整,有嚴格的管理權(quán)限只有系統(tǒng)規(guī)定人員才可以進入查詢,防止非法侵入和數(shù)據(jù)的丟失。</p><p>
12、;<b> 6、參考資料</b></p><p> 《軟件工程案例教程》,韓萬江等,機械工業(yè)出版社;</p><p> 2.《需求分析與系統(tǒng)設(shè)計》,Lesxek A.Maciasxek著,機械工業(yè)出版社;</p><p> 3.《軟件測試技術(shù)概論》,古樂、史九林,清華大學(xué)出版社;</p><p> 4.《軟件測
13、試 第2版》,Paul C.Jorgensen,機械工業(yè)出版社。</p><p><b> 7.基本設(shè)計概念</b></p><p> 7.1系統(tǒng)整體設(shè)計思想</p><p> 本系統(tǒng)按照.NET體系標(biāo)準(zhǔn)進行設(shè)計與開發(fā)。采用OOD(面向?qū)ο螅┰O(shè)計方法,將系統(tǒng)中的所有參與者都視為對象,根據(jù)需求調(diào)研報告來確定每個對象的屬性與方法,和對象之間的
14、關(guān)系。整個系統(tǒng)采用細粒度概念來設(shè)計對象,拆分功能復(fù)雜的對象,使每個對象的功能單一化,以提高系統(tǒng)的可擴展性。</p><p><b> 7.2系統(tǒng)安全設(shè)計</b></p><p> 為了防范黑客及其它非法入侵,以及考勤信息的泄漏,本系統(tǒng)在安全控制上采用殺毒軟件和分級用戶權(quán)限管理并行的方式。</p><p><b> 8、需求規(guī)定&
15、lt;/b></p><p> 考勤管理根據(jù)用戶需求,系統(tǒng)功能結(jié)構(gòu)如下:</p><p><b> 8-1結(jié)構(gòu)圖</b></p><p><b> 9、各功能分析</b></p><p><b> 9、1增加考勤記錄</b></p><p>
16、;<b> 功能描述:</b></p><p> 1.上班時間打卡信息錄入 </p><p> a. 8點之前打卡員工到勤信息的錄入</p><p> b. 8:00 – 8:30之間員工遲到信息的錄入</p><p> c.8:30之后員工到達或不到(缺勤)信息的錄入(即錄入時已認為缺勤,是否到達的信息不由系
17、統(tǒng)控制)</p><p> 2. 下班時間打卡信息錄入 </p><p> a . 16:00之前員工打卡離開記為缺勤信息的錄入</p><p> b. 17:30之前員工打卡離開記為早退信息的錄入</p><p><b> 錄入限制條件:</b></p><p> 打卡器首先向
18、系統(tǒng)輸入員工的編號,由系統(tǒng)自動錄入,已有考勤信息的,考勤信息則是只讀的,反之則可寫的。</p><p> 當(dāng)處于固定時間段時,無法錄入其他時間段的信息。</p><p> 當(dāng)考勤信息已先行錄入時,查詢考勤系統(tǒng),已只讀顯示考勤情況。</p><p> 9、2考勤信息的刪除</p><p><b> 功能描述:</b>
19、;</p><p> 當(dāng)考勤系統(tǒng)處錯誤的時候,要能夠調(diào)出并刪除這些記錄。例如,當(dāng)員工發(fā)現(xiàn)自己的考勤信息有錯誤時,可以向自己的上級反映,以便及時刪除。</p><p><b> 9、3系統(tǒng)管理</b></p><p><b> 權(quán)限管理</b></p><p> a. 普通員工可以查詢自己某一
20、天或某一時間段內(nèi)的到崗情況;</p><p> b. 初級管理員(部門負責(zé)人)可以修改并查詢該部門的某個員工在某一天或某一時間段的到崗情況,是否存在違規(guī),如有違規(guī),違規(guī)類型是什么;</p><p> c. 高級管理員(總負責(zé)人)擁有初級管理員的能力,并可對初級管理員進行任務(wù)的分派,增加和刪除。</p><p> 9. 4考勤信息修改</p>&l
21、t;p> 系統(tǒng)功能:當(dāng)員工的考勤信息錄入不當(dāng)時,這時應(yīng)該及時向上級反映,上機根據(jù)情況修改該員工的考勤信息。</p><p> 1.1員工應(yīng)被授予任何時候查詢自己的考勤信息的權(quán)限,以便及時發(fā)現(xiàn)自己的考勤信息中的錯誤及遺失。</p><p> 1.2員工沒有修改自己的考勤信息的權(quán)限,只有在發(fā)現(xiàn)自己的信息出現(xiàn)錯誤后及時向管理員反映,以便管理員能夠及時修改系統(tǒng)錯誤。</p>
22、<p><b> 9、5考勤信息檢索</b></p><p><b> 10、功能描述:</b></p><p> 對公司所有員工的到崗信息進行查詢</p><p><b> 10-1系統(tǒng)流程圖</b></p><p> 11、實現(xiàn)功能介紹:</p
23、><p> 能夠按照頁面所列項的AND或者OR進行查詢,查詢結(jié)果可以顯示出:</p><p> a. 普通員工可以查詢自己某一天或某一時間段內(nèi)的到崗情況;</p><p> b. 初級管理員(部門負責(zé)人)可以修改并查詢該部門的某個員工在某一天或某一時間段的到崗情況,是否存在違規(guī),如有違規(guī),違規(guī)類型是什么;</p><p> c. 高級管理
24、員(總負責(zé)人)擁有初級管理員的能力,并可對初級管理員進行任務(wù)的分派,增加和刪除。</p><p> 12、查詢結(jié)果頁面表頭如下:</p><p><b> 員工姓名</b></p><p><b> 員工編號</b></p><p><b> 所屬部門</b></
25、p><p><b> 處罰日期</b></p><p><b> 違規(guī)次數(shù)</b></p><p><b> 違規(guī)類型</b></p><p><b> 13、詳細設(shè)計概述</b></p><p> 根據(jù)需求分析畫出UML建模
26、如下;</p><p> 13-1 UML模型</p><p><b> 系統(tǒng)E-R圖</b></p><p><b> 13-2 E-R圖</b></p><p><b> 活動圖</b></p><p><b> 13-3活動圖&
27、lt;/b></p><p><b> 14、數(shù)據(jù)庫設(shè)計</b></p><p> 14、1數(shù)據(jù)庫需求分析</p><p> 針對本系統(tǒng),通過對企業(yè)考勤管理的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下所示:</p><p> 員工考勤信息。包括的數(shù)據(jù)項有員工號、缺勤時間、缺勤天數(shù)、缺勤類別。</p
28、><p> 缺勤類型信息。包括的數(shù)據(jù)項有缺勤類型、名稱、描述等。</p><p> 14、2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</p><p> 在上面的實體以及實體之間關(guān)系的基礎(chǔ)上,形成數(shù)據(jù)庫中的表格以及各個表格之間的關(guān)系。</p><p> 考勤管理系統(tǒng)數(shù)據(jù)庫中各個表格的設(shè)計結(jié)果如下面的幾個表格所示。每個表格表示在數(shù)據(jù)庫中的一個表。</p>
29、;<p><b> 表1為考勤管理表</b></p><p> 表1 考勤管理表格kq</p><p><b> 表2為缺勤管理表</b></p><p> 表2 缺勤類別表格qqlb</p><p>
30、 表3為考勤管理表kq</p><p> 表2 員工基本情況表格yg</p><p> 14、3數(shù)據(jù)庫結(jié)構(gòu)的實現(xiàn)</p><p> 經(jīng)過前面的需求分析和概念結(jié)構(gòu)設(shè)計后,得到數(shù)據(jù)庫的邏輯結(jié)構(gòu),現(xiàn)在就可以在SQL SERVER2000數(shù)據(jù)庫系統(tǒng)中實現(xiàn)該邏輯結(jié)構(gòu),這是利用SQL SERVER2000數(shù)據(jù)庫系統(tǒng)中的SQL 查詢分析
31、器實現(xiàn)的。</p><p><b> 具體功能實現(xiàn)模塊</b></p><p><b> 代碼模塊</b></p><p> /*******************************</p><p> * 當(dāng)點擊上班按鈕時執(zhí)行此方法 *</p><p> *
32、 *****************************/</p><p> private void btnShangBan_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> string id,name="",selSql,
33、selSql2,selSql3,insertSql,strToday,strTime,strPwd="",strHour,strMinute,strCiDao,strKuangGong;</p><p> string strYear,strMon;</p><p> int count=0;</p><p> id=ddId.Select
34、edItem.Text.Trim();</p><p> strToday=System.DateTime.Today.ToShortDateString();</p><p> strTime=System.DateTime.Now.ToShortTimeString();</p><p> strHour=System.DateTime.Now.Hour.
35、ToString();</p><p> strMinute=System.DateTime.Now.Minute.ToString();</p><p> strYear=System.DateTime.Now.Year.ToString();</p><p> strMon=System.DateTime.Now.Month.ToString();<
36、/p><p> selSql="select name from usermessage where id='"+id+"'";</p><p> selSql2="select name from kaoqin where id='"+id+"' and kqdate='&quo
37、t;+strToday+"'";</p><p> selSql3="select password from usermessage where id='"+id+"'";</p><p> if(txtName.Text.Equals(""))</p><p&
38、gt;<b> {</b></p><p> info.Text="請選擇用戶編號!";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p>
39、;<p> con.Open();</p><p> com=new OleDbCommand(selSql3,con);</p><p> reader=com.ExecuteReader();</p><p> while(reader.Read())</p><p><b> {</b>&l
40、t;/p><p> strPwd=reader.GetString(0);</p><p><b> }</b></p><p> reader.Close();</p><p> com.Dispose();</p><p> con.Close();</p><p&g
41、t; if(txtPwd.Text.Equals(strPwd))</p><p><b> {</b></p><p> con.Open();</p><p> com=new OleDbCommand(selSql2,con);</p><p> reader=com.ExecuteReader();&l
42、t;/p><p> while(reader.Read())</p><p><b> {</b></p><p><b> count++;</b></p><p><b> }</b></p><p> reader.Close();</
43、p><p> com.Dispose();</p><p> con.Close();</p><p> if(count==0)</p><p><b> {</b></p><p> con.Open();</p><p> com=new OleDbComma
44、nd(selSql,con);</p><p> reader=com.ExecuteReader();</p><p> while(reader.Read())</p><p><b> {</b></p><p> name=reader.GetString(0);</p><p>
45、<b> }</b></p><p> reader.Close();</p><p> com.Dispose();</p><p> con.Close();</p><p> if(System.Convert.ToInt32(strHour)>9 || (System.Convert.ToInt3
46、2(strHour)==9 && System.Convert.ToInt32(strMinute)>0))</p><p><b> {</b></p><p> strKuangGong="曠工";</p><p> strCiDao="否";</p><
47、;p><b> }</b></p><p> else if(System.Convert.ToInt32(strHour)>8 || (System.Convert.ToInt32(strHour)==8 && System.Convert.ToInt32(strMinute)>30))</p><p><b> {
48、</b></p><p> strCiDao="遲到";</p><p> strKuangGong="0";</p><p><b> }</b></p><p><b> else</b></p><p><
49、;b> {</b></p><p> strKuangGong="0";</p><p> strCiDao="否";</p><p><b> }</b></p><p> insertSql="insert into kaoqin valu
50、es('"+id+"','"+name+"','"+strToday+"','"+strTime+"','0','"+strCiDao+"',' ',' ',' ','"+str
51、KuangGong+"','"+strYear+"','"+strMon+"')";</p><p> con.Open();</p><p> com=new OleDbCommand(insertSql,con);</p><p> com.ExecuteN
52、onQuery();</p><p> com.Dispose();</p><p> con.Close();</p><p> info.Text="考勤成功!";</p><p><b> }</b></p><p><b> else</b&g
53、t;</p><p><b> {</b></p><p> info.Text="系統(tǒng)已經(jīng)記錄您的考勤信息,不能重新記錄!";</p><p><b> }</b></p><p><b> }</b></p><p>&l
54、t;b> else</b></p><p><b> {</b></p><p> info.Text="用戶密碼錯誤!";</p><p><b> }</b></p><p><b> }</b></p><
55、;p> con.Close();</p><p><b> }</b></p><p><b> 上班實現(xiàn)模塊</b></p><p> /******************************</p><p> * 當(dāng)點擊下班按鈕時執(zhí)行此方法*</p><
56、p> * ****************************/</p><p> private void btnXiaBan_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> string id,selSql,selSql2,selSq
57、l3,selSql4,selSql5,strPwd="",insertSql,strToday,strTime,strHour,strMinute,strZaoTui,strKuangGong;</p><p> int count=0,count2=0,count3=0,count4=0;</p><p> id=ddId.SelectedItem.Text.Tr
58、im();</p><p> strToday=System.DateTime.Today.ToShortDateString();</p><p> strTime=System.DateTime.Now.ToShortTimeString();</p><p> strHour=System.DateTime.Now.Hour.ToString();<
59、;/p><p> strMinute=System.DateTime.Now.Minute.ToString();</p><p> selSql="select name from kaoqin where id='"+id+"' and kqdate='"+strToday+"' and lgdate=&
60、#39;0'";</p><p> selSql2="select name from kaoqin where id='"+id+"' and kqdate='"+strToday+"'";</p><p> selSql3="select password fro
61、m usermessage where id='"+id+"'";</p><p> selSql4="select name from kaoqin where id='"+id+"' and dgdate='0' and kqdate='"+strToday+"'&
62、quot;;</p><p> selSql5="select name from kaoqin where id='"+id+"' and kg='曠工'";</p><p> if(txtName.Text.Equals(""))</p><p><b>
63、 {</b></p><p> info.Text="請選擇用戶編號!";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p>
64、 con.Open();</p><p> com=new OleDbCommand(selSql3,con);</p><p> reader=com.ExecuteReader();</p><p> while(reader.Read())</p><p><b> {</b></p><
65、;p> strPwd=reader.GetString(0);</p><p><b> }</b></p><p> reader.Close();</p><p> com.Dispose();</p><p> con.Close();</p><p> if(txtPwd
66、.Text.Equals(strPwd))</p><p><b> {</b></p><p> con.Open();</p><p> com=new OleDbCommand(selSql4,con);</p><p> reader=com.ExecuteReader();</p><
67、;p> while(reader.Read())</p><p><b> {</b></p><p><b> count3++;</b></p><p><b> }</b></p><p> reader.Close();</p><p
68、> com.Dispose();</p><p> con.Close();</p><p> if(count3!=0)</p><p><b> {</b></p><p> info.Text="系統(tǒng)沒有記錄您今天的上班信息,因此不能記錄您的下班信息!";</p>
69、<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> con.Open();</p><p> com=new OleDbCommand(selSql2,con);</p>
70、;<p> reader=com.ExecuteReader();</p><p> while(reader.Read())</p><p><b> {</b></p><p><b> count2++;</b></p><p><b> }</b>
71、;</p><p> reader.Close();</p><p> com.Dispose();</p><p> con.Close();</p><p> if(count2==0)</p><p><b> {</b></p><p> info.Te
72、xt="系統(tǒng)沒有記錄您今天的上班信息,因此不能記錄您的下班信息!";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> con.Open();</p>
73、<p> com=new OleDbCommand(selSql,con);</p><p> reader=com.ExecuteReader();</p><p> while(reader.Read())</p><p><b> {</b></p><p><b> count+
74、+;</b></p><p><b> }</b></p><p> reader.Close();</p><p> com.Dispose();</p><p> con.Close();</p><p> if(count!=0)</p><p>
75、;<b> {</b></p><p> con.Open();</p><p> com=new OleDbCommand(selSql5,con);</p><p> reader=com.ExecuteReader();</p><p> while(reader.Read())</p>&
76、lt;p><b> {</b></p><p><b> count4++;</b></p><p><b> }</b></p><p> reader.Close();</p><p> com.Dispose();</p><p>
77、 con.Close();</p><p> if(count4==0)</p><p><b> {</b></p><p> if(System.Convert.ToInt32(strHour)<17)</p><p><b> {</b></p><p>
78、; strKuangGong="曠工";</p><p> strZaoTui="否";</p><p><b> }</b></p><p> else if(System.Convert.ToInt32(strHour)==17 && System.Convert.ToInt3
79、2(strMinute)<30)</p><p><b> {</b></p><p> strZaoTui="早退";</p><p> strKuangGong=" ";</p><p><b> }</b></p><p
80、><b> else</b></p><p><b> {</b></p><p> strKuangGong=" ";</p><p> strZaoTui="否";</p><p><b> }</b></p&g
81、t;<p> insertSql="update kaoqin set lgdate='"+strTime+"',zt='"+strZaoTui+"',kg='"+strKuangGong+"',cd='否' where id='"+id+"' and
82、kqdate='"+strToday+"'";</p><p> con.Open();</p><p> com=new OleDbCommand(insertSql,con);</p><p> com.ExecuteNonQuery();</p><p> com.Dispose()
83、;</p><p> con.Close();</p><p> info.Text="考勤成功!";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b>&
84、lt;/p><p> string insert="update kaoqin set lgdate='"+strTime+"' where id='"+id+"' and kqdate='"+strToday+"'";</p><p> con.Open();&
85、lt;/p><p> com=new OleDbCommand(insert,con);</p><p> com.ExecuteNonQuery();</p><p> com.Dispose();</p><p> con.Close();</p><p> info.Text="考勤成功!&quo
86、t;;</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> info.Text="系統(tǒng)已
87、經(jīng)記錄您的考勤信息,不能重新記錄!";</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><
88、;b> else</b></p><p><b> {</b></p><p> info.Text="用戶密碼錯誤!";</p><p><b> }</b></p><p><b> }</b></p><
89、p> con.Close();</p><p><b> }</b></p><p><b> 事假實現(xiàn)模塊</b></p><p> /******************************</p><p> * 當(dāng)點擊事假按鈕時執(zhí)行此方法*</p><p
90、> * ****************************/</p><p> private void btnShiJia_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> string id,selSql,selSql2,strPwd
91、="",insertSql,strToday,strTime,strHour,strMinute,strYear,strMon;</p><p> int count=0;</p><p> id=ddId.SelectedItem.Text.Trim();</p><p> strToday=System.DateTime.Today.T
92、oShortDateString();</p><p> strTime=System.DateTime.Now.ToShortTimeString();</p><p> strHour=System.DateTime.Now.Hour.ToString();</p><p> strMinute=System.DateTime.Now.Minute.ToS
93、tring();</p><p> strYear=System.DateTime.Now.Year.ToString();</p><p> strMon=System.DateTime.Now.Month.ToString();</p><p> selSql="select password from usermessage where id=
94、'"+id+"'";</p><p> selSql2="select name from kaoqin where id='"+id+"' and kqdate='"+strToday+"'";</p><p> insertSql="i
95、nsert into kaoqin values('"+id+"','"+txtName.Text+"','"+strToday+"','0','0','否','否',' ','事假',' ','"+s
96、trYear+"','"+strMon+"')";</p><p> if(txtName.Text.Equals(""))</p><p><b> {</b></p><p> info.Text="請選擇用戶編號!";</p
97、><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> con.Open();</p><p> com=new OleDbCommand(selSql,con);<
98、/p><p> reader=com.ExecuteReader();</p><p> while(reader.Read())</p><p><b> {</b></p><p> strPwd=reader.GetString(0);</p><p><b> }</
99、b></p><p> reader.Close();</p><p> com.Dispose();</p><p> con.Close();</p><p> if(txtPwd.Text.Equals(strPwd))</p><p><b> {</b></p>
100、;<p> con.Open();</p><p> com=new OleDbCommand(selSql2,con);</p><p> reader=com.ExecuteReader();</p><p> while(reader.Read())</p><p><b> {</b>&l
101、t;/p><p><b> count++;</b></p><p><b> }</b></p><p> reader.Close();</p><p> com.Dispose();</p><p> con.Close();</p><p&g
102、t; if(count==0)</p><p><b> {</b></p><p> con.Open();</p><p> com=new OleDbCommand(insertSql,con);</p><p> com.ExecuteNonQuery();</p><p>
103、com.Dispose();</p><p> con.Close();</p><p> info.Text="考勤成功!";</p><p><b> }</b></p><p><b> else</b></p><p><b>
104、 {</b></p><p> info.Text="系統(tǒng)已經(jīng)記錄您的考勤信息,不能重新記錄";</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p>
105、<p><b> {</b></p><p> info.Text="用戶密碼錯誤!";</p><p><b> }</b></p><p><b> }</b></p><p> con.Close();</p>&l
106、t;p><b> }</b></p><p><b> 病假實現(xiàn)模塊</b></p><p> /******************************</p><p> * 當(dāng)點擊病假按鈕時執(zhí)行此方法*</p><p> * *************************
107、***/</p><p> private void btnBingJia_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> string id,selSql,selSql2,strPwd="",insertSql,strToday
108、,strTime,strHour,strMinute,strYear,strMon;</p><p> int count=0;</p><p> id=ddId.SelectedItem.Text.Trim();</p><p> strToday=System.DateTime.Today.ToShortDateString();</p>&
109、lt;p> strTime=System.DateTime.Now.ToShortTimeString();</p><p> strHour=System.DateTime.Now.Hour.ToString();</p><p> strMinute=System.DateTime.Now.Minute.ToString();</p><p> s
110、trYear=System.DateTime.Now.Year.ToString();</p><p> strMon=System.DateTime.Now.Month.ToString();</p><p> selSql="select password from usermessage where id='"+id+"'"
111、;</p><p> selSql2="select name from kaoqin where id='"+id+"' and kqdate='"+strToday+"'";</p><p> insertSql="insert into kaoqin values('&q
112、uot;+id+"','"+txtName.Text+"','"+strToday+"','0','0','否','否','病假',' ',' ','"+strYear+"','"+s
113、trMon+"')";</p><p> if(txtName.Text.Equals(""))</p><p><b> {</b></p><p> info.Text="請選擇用戶編號!";</p><p><b> }</
114、b></p><p><b> else</b></p><p><b> {</b></p><p> con.Open();</p><p> com=new OleDbCommand(selSql,con);</p><p> reader=com.Ex
115、ecuteReader();</p><p> while(reader.Read())</p><p><b> {</b></p><p> strPwd=reader.GetString(0);</p><p><b> }</b></p><p> read
116、er.Close();</p><p> com.Dispose();</p><p> con.Close();</p><p> if(txtPwd.Text.Equals(strPwd))</p><p><b> {</b></p><p> con.Open();</p&
117、gt;<p> com=new OleDbCommand(selSql2,con);</p><p> reader=com.ExecuteReader();</p><p> while(reader.Read())</p><p><b> {</b></p><p><b> co
118、unt++;</b></p><p><b> }</b></p><p> reader.Close();</p><p> com.Dispose();</p><p> con.Close();</p><p> if(count==0)</p><
119、p><b> {</b></p><p> con.Open();</p><p> com=new OleDbCommand(insertSql,con);</p><p> com.ExecuteNonQuery();</p><p> com.Dispose();</p><p&
120、gt; con.Close();</p><p> info.Text="考勤成功!";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p>
121、; info.Text="系統(tǒng)已經(jīng)記錄您的考勤信息,不能重新記錄";</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b>
122、</p><p> info.Text="用戶密碼錯誤!";</p><p><b> }</b></p><p><b> }</b></p><p> con.Close();</p><p><b> }</b><
123、;/p><p><b> 曠課實現(xiàn)模塊</b></p><p> /******************************</p><p> * 當(dāng)點擊曠工按鈕時執(zhí)行此方法*</p><p> * ****************************/</p><p> priva
124、te void Button1_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> string id,selSql,selSql2,strPwd="",insertSql,strToday,strTime,strHour,strMinute,strYear,
125、strMon;</p><p> int count=0;</p><p> id=ddId.SelectedItem.Text.Trim();</p><p> strToday=System.DateTime.Today.ToShortDateString();</p><p> strTime=System.DateTime.N
126、ow.ToShortTimeString();</p><p> strHour=System.DateTime.Now.Hour.ToString();</p><p> strMinute=System.DateTime.Now.Minute.ToString();</p><p> strYear=System.DateTime.Now.Year.ToS
127、tring();</p><p> strMon=System.DateTime.Now.Month.ToString();</p><p> selSql="select password from usermessage where id='"+id+"'";</p><p> selSql2=&qu
128、ot;select name from kaoqin where id='"+id+"' and kqdate='"+strToday+"'";</p><p> insertSql="insert into kaoqin values('"+id+"','"+txt
129、Name.Text+"','"+strToday+"','0','0','否','否',' ',' ','曠工','"+strYear+"','"+strMon+"')";</p>
130、<p> if(txtName.Text.Equals(""))</p><p><b> {</b></p><p> info.Text="請選擇用戶編號!";</p><p><b> }</b></p><p><b>
131、 else</b></p><p><b> {</b></p><p> con.Open();</p><p> com=new OleDbCommand(selSql,con);</p><p> reader=com.ExecuteReader();</p><p>
132、 while(reader.Read())</p><p><b> {</b></p><p> strPwd=reader.GetString(0);</p><p><b> }</b></p><p> reader.Close();</p><p> c
133、om.Dispose();</p><p> con.Close();</p><p> if(txtPwd.Text.Equals(strPwd))</p><p><b> {</b></p><p> con.Open();</p><p> com=new OleDbComma
134、nd(selSql2,con);</p><p> reader=com.ExecuteReader();</p><p> while(reader.Read())</p><p><b> {</b></p><p><b> count++;</b></p><p&
135、gt;<b> }</b></p><p> reader.Close();</p><p> com.Dispose();</p><p> con.Close();</p><p> if(count==0)</p><p><b> {</b></p&
136、gt;<p> con.Open();</p><p> com=new OleDbCommand(insertSql,con);</p><p> com.ExecuteNonQuery();</p><p> com.Dispose();</p><p> con.Close();</p><p
137、> info.Text="考勤成功!";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> info.Text="系統(tǒng)已經(jīng)記錄您的考勤信息,不能
138、重新記錄";</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> info.Text=&
139、quot;用戶密碼錯誤!";</p><p><b> }</b></p><p><b> }</b></p><p> con.Close();</p><p><b> }</b></p><p><b> }<
140、/b></p><p><b> }</b></p><p><b> 15、任務(wù)概述</b></p><p><b> 15、1目標(biāo)</b></p><p> 調(diào)試程序的正確性,對需要改進的地方進行調(diào)整,確保程序與需求分析相匹配,對以前的設(shè)計程序成果做一個書面總
141、結(jié)。</p><p><b> 16、運行環(huán)境</b></p><p><b> 1)單機運行 </b></p><p> 數(shù)據(jù)庫:SQL 2000 </p><p> 操作系統(tǒng):WIN98/2000/ME/XP/NT/2003 </p><p><b>
142、 2)聯(lián)網(wǎng)運行 </b></p><p> 數(shù)據(jù)庫:MS SQL SERVER 2000以上企業(yè)版/標(biāo)準(zhǔn)版 </p><p> 工作站操作系統(tǒng):WIN98/2000/ME/XP/NT </p><p> 服務(wù)器操作系統(tǒng):WINDOW NT/2000/2003 SERVER</p><p><b> 17、測試環(huán)境
143、</b></p><p> 18、測試時間、地點</p><p><b> 時間:3月27</b></p><p><b> 地點:B407</b></p><p> 19、測試內(nèi)容說明 </p><p><b>
144、19、1測試方案</b></p><p> 在Web應(yīng)用技術(shù)中,數(shù)據(jù)庫起著重要的作用,數(shù)據(jù)庫為Web應(yīng)用系統(tǒng)的管理、運行、查詢和實現(xiàn)用戶對數(shù)據(jù)存儲的請求等提供空間。在Web應(yīng)用中,最常用的數(shù)據(jù)庫類型是關(guān)系型數(shù)據(jù)庫,可以使用SQL對信息進行處理。 在使用了數(shù)據(jù)庫的Web應(yīng)用系統(tǒng)中,一般情況下,可能發(fā)生兩種錯誤,分別是數(shù)據(jù)一致性錯誤和輸出錯誤。數(shù)據(jù)一致性錯誤主要是由于用戶提交的表單信息不正確而造成的,而
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 成績管理課程設(shè)計報告
- 車位管理課程設(shè)計報告
- 圖書管理課程設(shè)計報告
- 圖書管理課程設(shè)計報告
- 質(zhì)量管理課程設(shè)計報告
- 財務(wù)管理課程設(shè)計報告
- 人事管理課程設(shè)計報告
- 生產(chǎn)運作管理課程設(shè)計報告
- 工資管理課程設(shè)計報告
- 學(xué)生考勤管理系統(tǒng)課程設(shè)計報告
- 財務(wù)管理課程設(shè)計報告 (2)
- 停車場管理課程設(shè)計報告
- 企業(yè)物流管理課程設(shè)計報告
- 客戶關(guān)系管理課程設(shè)計報告
- 客戶關(guān)系管理課程設(shè)計報告
- 客戶關(guān)系管理課程設(shè)計報告
- 生產(chǎn)與運作管理課程設(shè)計報告
- 網(wǎng)絡(luò)管理課程設(shè)計
- 項目管理課程設(shè)計
- 論壇管理課程設(shè)計
評論
0/150
提交評論