版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課 程 設(shè) 計(jì)</b></p><p><b> 2015年12月</b></p><p><b> 目錄</b></p><p><b> 一 可行性研究1</b></p><p> 1.1 問(wèn)題描述1</
2、p><p> 1.2 研究目的1</p><p> 1.3 開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境1</p><p> 1.4 預(yù)期結(jié)果和意義2</p><p><b> 二 需求分析2</b></p><p> 2.1 功能需求2</p><p> 2.1.1 數(shù)據(jù)管理
3、2</p><p> 2.1.2考勤管理2</p><p> 2.1.3加班管理2</p><p> 2.1.4 請(qǐng)假管理2</p><p> 2.1.5 出差管理2</p><p> 2.2 功能模塊圖3</p><p> 2.3 系統(tǒng)數(shù)據(jù)流程圖4</p>
4、;<p> 2.4 數(shù)據(jù)字典4</p><p> 三 概念結(jié)構(gòu)設(shè)計(jì)4</p><p> 3.1 局部E-R圖4</p><p> 3.1.1 員工信息E-R圖4</p><p> 3.1.2 出勤記錄 E-R圖5</p><p> 3.1.3 出差記錄 E-R圖5</p&g
5、t;<p> 3.1.4 加班記錄 E-R圖5</p><p> 3.1.5 請(qǐng)假記錄 E-R圖6</p><p> 3.2 總 E-R圖6</p><p> 四 邏輯結(jié)構(gòu)設(shè)計(jì)7</p><p><b> 4.1關(guān)系模式7</b></p><p> 五 數(shù)據(jù)實(shí)施
6、和維護(hù)7</p><p> 5.1數(shù)據(jù)表的創(chuàng)建7</p><p> 5.2數(shù)據(jù)表的屬性8</p><p> 5.2.1出勤資料表8</p><p> 5.2.2加班資料表9</p><p> 5.2.3請(qǐng)假資料表10</p><p> 5.2.4出差資料表10</
7、p><p><b> 六 測(cè)試11</b></p><p> 6.1登錄模板測(cè)試11</p><p> 6.2登錄后頁(yè)面13</p><p> 6.3建立上班簽到表15</p><p> 6.4職工信息表17</p><p> 6.5出差信息系統(tǒng)20&l
8、t;/p><p> 6.6加班信息系統(tǒng)24</p><p> 6.7請(qǐng)假信息系統(tǒng)29</p><p> 七 心得體會(huì)32</p><p> 八 參考文獻(xiàn)32</p><p><b> 一 可行性研究</b></p><p><b> 1.1 問(wèn)
9、題描述</b></p><p> 隨著企業(yè)人事管理的日趨復(fù)雜和企業(yè)人員的增多,企業(yè)的考勤管理變得越來(lái)越復(fù)雜。規(guī)范的考勤管理是現(xiàn)代企業(yè)提高管理效益的重要保證,而傳統(tǒng)的人工管理存在著效率低、不易統(tǒng)計(jì)、成本高和易出錯(cuò)等弊端,已經(jīng)無(wú)法適應(yīng)現(xiàn)代企業(yè)的需求。隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的迅速發(fā)展,將傳統(tǒng)的人工考勤管理計(jì)算機(jī)化,建立一個(gè)高效率的、無(wú)差錯(cuò)的考勤管理系統(tǒng),能夠有效的幫助企業(yè)實(shí)現(xiàn)“公正考勤,高效薪資”,使企
10、業(yè)的管理水平登上一個(gè)新的臺(tái)階。 </p><p> 職工考勤管理經(jīng)過(guò)如下的業(yè)務(wù)流程:</p><p> ?。?)員工基本信息管理,添加,刪除,更改</p><p> (2)員工考勤管理,員工根據(jù)自己的班次在上下班時(shí)分別進(jìn)行出勤操作,采用手動(dòng)方式或者使用劃卡機(jī)。由人事部門專門的人員管理出勤和退勤信息。</p><p> ?。?)一般在每個(gè)月
11、月初進(jìn)行考勤匯總,匯總信息包括工作日的出勤情況、請(qǐng)假天數(shù)、出差天數(shù)、休假天數(shù)和不同性質(zhì)的加班記錄等。</p><p><b> 1.2 研究目的</b></p><p> 待開(kāi)發(fā)的系統(tǒng)的名稱為職工考勤管理信息系統(tǒng)。</p><p> 我們以中小型企業(yè)的考勤管理業(yè)務(wù)為依托,結(jié)合科學(xué)管理的理論,設(shè)計(jì)并開(kāi)發(fā)一個(gè)企業(yè)考勤管理信息系統(tǒng),提供一個(gè)科學(xué)
12、合理的考勤管理解決方案,徹底實(shí)現(xiàn)無(wú)紙化作業(yè)。根據(jù)管理權(quán)限的不同,將界面分為一般職員、部門經(jīng)理、系統(tǒng)管理員和最高管理者四個(gè)層次。</p><p> ?。?)提供簡(jiǎn)單、方便的操作。</p><p> ?。?)根據(jù)企業(yè)原來(lái)的考勤管理制度,為企業(yè)不同管理層次提供相應(yīng)的功能。</p><p> (3)通過(guò)考勤管理無(wú)紙化的實(shí)現(xiàn),使企業(yè)的考勤管理更加科學(xué)規(guī)范。</p>
13、;<p> ?。?)節(jié)省考勤管理的成本。</p><p> ?。?)提高企業(yè)考勤管理的透明度和效率,防止“虛假出勤“的現(xiàn)象。</p><p> ?。?)對(duì)系統(tǒng)提供必要的權(quán)限管理。</p><p> ?。?)為企業(yè)實(shí)現(xiàn)整體信息化的其他相關(guān)系統(tǒng)提供必要的數(shù)據(jù)支持。</p><p> 1.3 開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境</p>
14、<p> 公司考勤管理系統(tǒng)這運(yùn)用了當(dāng)前最流行的SQL SERVER2012來(lái)建表還有前臺(tái)應(yīng)用程序采用VISUAL STUDIOI2015編寫運(yùn)行和開(kāi)發(fā)的。</p><p> 1.庫(kù)、基本表的建立和修改:在SQL-SERVER環(huán)境下用CREATE TABLE 建立庫(kù)以及庫(kù)中基本表。</p><p> 2.?dāng)?shù)據(jù)加載: 用手工錄入或?qū)氲确椒▽?shí)現(xiàn)基本表中的數(shù)據(jù)加載。</p
15、><p> 3.單表查詢以及多表查詢:在建立的基本表中使用select基本格式和聚集函數(shù);設(shè)計(jì)合適的視圖,實(shí)現(xiàn)多表間查詢。</p><p> 4.用SQL SERVER 2012等開(kāi)發(fā)環(huán)境設(shè)計(jì)、實(shí)現(xiàn)系統(tǒng)主要功能。</p><p> 1.4 預(yù)期結(jié)果和意義</p><p> 考勤系統(tǒng)能實(shí)現(xiàn)職工日考勤記錄,記錄請(qǐng)假信息,記錄出差信息等功能,并
16、最終所有信息歸入月統(tǒng)計(jì)中去。</p><p> 本考勤系統(tǒng)建立了一個(gè)高效率的、無(wú)差錯(cuò)的考勤管理系統(tǒng),能夠有效的幫助企業(yè)實(shí)現(xiàn)“公正考勤,高效薪資”,使企業(yè)的管理水平登上一個(gè)新的臺(tái)階。 </p><p><b> 二 需求分析</b></p><p><b> 2.1 功能需求</b></p><p
17、> 2.1.1 數(shù)據(jù)管理</p><p> 功能是設(shè)置和管理基礎(chǔ)數(shù)據(jù),包括加班、請(qǐng)假類別的定義和班次的定義,在全縣范圍內(nèi)可以進(jìn)行基礎(chǔ)數(shù)據(jù)的添加、刪除和修改。</p><p><b> 2.1.2考勤管理</b></p><p> 包括出勤動(dòng)作、出勤信息的查詢;上級(jí)對(duì)下級(jí)員工的出勤信息的確認(rèn);生成考勤統(tǒng)計(jì)信息并可以根據(jù)指定的條件進(jìn)行
18、查詢。實(shí)現(xiàn)從每日出勤到統(tǒng)計(jì)全部考勤信息的無(wú)紙化操作。為方便數(shù)據(jù)傳遞和查閱,要根據(jù)需求提供不同時(shí)間短的考勤統(tǒng)計(jì)信息表。</p><p><b> 2.1.3加班管理</b></p><p> 對(duì)員工的加班時(shí)間進(jìn)行統(tǒng)計(jì),記錄開(kāi)始時(shí)間和結(jié)束時(shí)間,對(duì)加班信息實(shí)現(xiàn)添加,刪除等操作。</p><p> 2.1.4 請(qǐng)假管理</p>&l
19、t;p> 可以提出請(qǐng)假申請(qǐng),并完善請(qǐng)假信息,如請(qǐng)假開(kāi)始時(shí)間,請(qǐng)假結(jié)束時(shí)間,請(qǐng)假的次數(shù)進(jìn)行管理。</p><p> 2.1.5 出差管理</p><p> 管理者安排員工出差,對(duì)出差時(shí)間,次數(shù)的管理。</p><p> 2.2 功能模塊圖</p><p> 如圖2-1所示,圖為功能模塊圖</p><p>
20、;<b> 2-1 功能模塊圖</b></p><p> 2.3 系統(tǒng)數(shù)據(jù)流程圖</p><p> 如圖2.3所示,圖為數(shù)據(jù)流程圖</p><p><b> 2-2 數(shù)據(jù)流程圖</b></p><p><b> 2.4 數(shù)據(jù)字典</b></p>&l
21、t;p> 在物理結(jié)構(gòu)中,數(shù)據(jù)的基本存取單位是存儲(chǔ)記錄。有了邏輯結(jié)構(gòu)以后,就可以設(shè)計(jì)存儲(chǔ)記錄結(jié)構(gòu),一個(gè)存儲(chǔ)記錄可以與多個(gè)邏輯記錄相對(duì)應(yīng)。存儲(chǔ)記錄就包括記錄的組成,數(shù)據(jù)項(xiàng)的類型和長(zhǎng)度等。</p><p><b> 三 概念結(jié)構(gòu)設(shè)計(jì)</b></p><p> 3.1 局部E-R圖</p><p> 3.1.1 員工信息E-R圖</
22、p><p><b> 圖3-1</b></p><p> 3.1.2 出勤記錄 E-R圖</p><p><b> 圖3-2</b></p><p> 3.1.3 出差記錄 E-R圖</p><p><b> 圖3-3</b></p>
23、<p> 3.1.4 加班記錄 E-R圖</p><p><b> 圖3-4</b></p><p> 3.1.5 請(qǐng)假記錄 E-R圖</p><p><b> 圖3-5</b></p><p> 3.2 總 E-R圖</p><p><b>
24、 圖3-6</b></p><p><b> 四 邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p><b> 4.1關(guān)系模式</b></p><p> 職工信息(職工編號(hào),姓名,性別,年齡,職稱)</p><p> 出勤記錄(上班打卡時(shí)間,下班打卡時(shí)間,缺勤記錄)</p>&
25、lt;p> 出差記錄(出差開(kāi)始時(shí)間,出差結(jié)束時(shí)間,統(tǒng)計(jì)出差時(shí)間)</p><p> 加班信息(加班開(kāi)始時(shí)間,加班結(jié)束時(shí)間,加班時(shí)間統(tǒng)計(jì))</p><p> 請(qǐng)假信息(請(qǐng)假開(kāi)始時(shí)間,請(qǐng)假結(jié)束時(shí)間,請(qǐng)假時(shí)間統(tǒng)計(jì))</p><p><b> 五 數(shù)據(jù)實(shí)施和維護(hù)</b></p><p><b> 5.1
26、數(shù)據(jù)表的創(chuàng)建</b></p><p><b> 圖5-1表的建立</b></p><p><b> 5.2數(shù)據(jù)表的屬性</b></p><p><b> 圖5-2表的屬性</b></p><p> 5.2.1出勤資料表</p><p>
27、;<b> 圖5-3出勤資料</b></p><p> 圖5-4員工出勤基本資料表屬性</p><p> 圖5-5員工出勤基本資料屬性</p><p> 5.2.2加班資料表</p><p> 圖5-6加班資料表屬性</p><p><b> 圖5-7加班資料表</b&
28、gt;</p><p> 5.2.3請(qǐng)假資料表</p><p> 圖5-8請(qǐng)假資料表屬性</p><p><b> 圖5-9請(qǐng)假資料表</b></p><p> 5.2.4出差資料表</p><p> 圖5-10出差資料表屬性</p><p> 圖5-11出差資
29、料表</p><p><b> 六 測(cè)試</b></p><p><b> 6.1登錄模板測(cè)試</b></p><p> 為了系統(tǒng)的安全,在進(jìn)入系統(tǒng)之前首先會(huì)出現(xiàn)一個(gè)登錄模塊,用戶只有在輸入正確的用戶名和正確的密碼之后,才能進(jìn)入系統(tǒng)。</p><p><b> 圖6-1登錄界面&l
30、t;/b></p><p> 登錄代碼的簡(jiǎn)單說(shuō)明:</p><p> private void button1_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (textBox1.Text == "" ||
31、 textBox2.Text == "")</p><p><b> {</b></p><p> MessageBox.Show("請(qǐng)輸入用戶名或密碼");</p><p><b> }</b></p><p><b> else</
32、b></p><p><b> {</b></p><p> string sql = "select '" + textBox1.Text + "' from 登錄信息表 where 密碼='" + textBox2.Text + "'";</p>&
33、lt;p> SqlConnection con = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=職工考勤系統(tǒng);User Id=sa;Password=147258");</p><p> con.Open();</p><p> SqlCommand com = new S
34、qlCommand(sql, con);</p><p> SqlDataReader sread = com.ExecuteReader();</p><p><b> try</b></p><p><b> {</b></p><p> if (sread.Read())</p&
35、gt;<p><b> {</b></p><p> Form3 frm2 = new Form3();</p><p> frm2.Show();</p><p> this.Hide();</p><p><b> }</b></p><p>&l
36、t;b> else</b></p><p><b> {</b></p><p> MessageBox.Show("登錄信息有誤");</p><p> textBox1.Text = textBox2.Text = "";</p><p><b&
37、gt; }</b></p><p><b> }</b></p><p><b> catch</b></p><p><b> {</b></p><p><b> }</b></p><p><b&g
38、t; finally</b></p><p><b> {</b></p><p> con.Close();//關(guān)閉連接</p><p> con.Dispose();//釋放連接</p><p> sread.Close();//釋放資源</p><p><b>
39、; }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 6.2登錄后頁(yè)面</b></p><p> 圖6-2 登錄后頁(yè)面</p><p> 登錄進(jìn)入的主頁(yè)面主要代碼:&
40、lt;/p><p> private void button1_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> panel1.Controls.Clear();</p><p> Form2 form2 = new Form2();</
41、p><p> form2.TopLevel = false;</p><p> panel1.Controls.Add(form2);</p><p> form2.Show();</p><p><b> }</b></p><p> private void button2_Click(
42、object sender, EventArgs e)</p><p><b> {</b></p><p> panel1.Controls.Clear();</p><p> Form4 form4 = new Form4();</p><p> form4.TopLevel = false;</p&g
43、t;<p> panel1.Controls.Add(form4);</p><p> form4.Show();</p><p><b> }</b></p><p> private void button3_Click(object sender, EventArgs e)</p><p>&
44、lt;b> {</b></p><p> panel1.Controls.Clear();</p><p> Form5 form4 = new Form5();</p><p> form4.TopLevel = false;</p><p> panel1.Controls.Add(form4);</p&
45、gt;<p> form4.Show();</p><p><b> }</b></p><p> private void button4_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> panel
46、1.Controls.Clear();</p><p> Form7 form4 = new Form7();</p><p> form4.TopLevel = false;</p><p> panel1.Controls.Add(form4);</p><p> form4.Show();</p><p>
47、;<b> }</b></p><p> private void button5_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> panel1.Controls.Clear();</p><p> Form6 f
48、orm4 = new Form6();</p><p> form4.TopLevel = false;</p><p> panel1.Controls.Add(form4);</p><p> form4.Show();}</p><p> 6.3建立上班簽到表</p><p> private void
49、 button1_Click(object sender, EventArgs e)</p><p> { </p><p><b> try {</b></p><p> SqlConnection conn = new SqlConnection("Data Source=ZHANGHAO\\SQL201
50、2;Initial Catalog=職工考勤系統(tǒng);User Id=sa;Password=147258");</p><p> conn.Open();</p><p> String sql = "select * from 職工信息表 where 職工編號(hào)='"+textBox1.Text+"'";</p>
51、;<p> SqlCommand cmd = new SqlCommand(sql, conn);</p><p> cmd.ExecuteNonQuery();</p><p> SqlDataReader dr = cmd.ExecuteReader();</p><p> if (dr.HasRows)</p><p&
52、gt; while (dr.Read())</p><p><b> {</b></p><p> tx.Text = dr["職工姓名"].ToString();</p><p><b> }</b></p><p><b> else</b>&
53、lt;/p><p><b> {</b></p><p> MessageBox.Show("查無(wú)此人");</p><p><b> }</b></p><p> conn.Close();</p><p><b> }</b>
54、;</p><p> catch (Exception ex) { MessageBox.Show(ex.Message); }</p><p><b> try</b></p><p><b> {</b></p><p> SqlConnection conn = new SqlConn
55、ection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=職工考勤系統(tǒng);User Id=sa;Password=147258");</p><p> conn.Open();</p><p> String sql = "insert into 出勤信息表(職工編號(hào),職工姓名,上班時(shí)間)values(
56、9;" + textBox1.Text + "','"+tx.Text+"','" + DateTime.Now.ToShortTimeString() + "')";</p><p> SqlCommand cmd = new SqlCommand(sql, conn);
57、 </p><p> int n=cmd.ExecuteNonQuery();</p><p> if (n > 0)</p><p><b> {</b></p><p> MessageBox.Show("簽到成功,經(jīng)驗(yàn)值+5");</p><p> th
58、is.出勤信息表TableAdapter.Fill(this.職工考勤系統(tǒng)DataSet1.出勤信息表);</p><p><b> }</b></p><p> conn.Close();</p><p><b> }</b></p><p> catch { MessageBox.Sho
59、w("禁止重復(fù)簽到"); }</p><p><b> 圖6-3 出勤界面</b></p><p><b> 6.4職工信息表</b></p><p> 職工信息表的插入添加還有查詢頁(yè)面 其相關(guān)代碼:</p><p> private void button3_Click
60、(object sender, EventArgs e)</p><p><b> {</b></p><p> SqlConnection conn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=職工考勤系統(tǒng);User Id=sa;Password=147258&q
61、uot;);</p><p> conn.Open();</p><p> String sql = "select * from 職工信息表 where 職工編號(hào)='" + textBox6.Text + "'";</p><p> SqlCommand cmd = new SqlCommand(sql
62、, conn);</p><p> SqlDataReader dre = cmd.ExecuteReader();</p><p> if (dre.HasRows)</p><p> while (dre.Read())</p><p><b> {</b></p><p> tex
63、tBox1.Text = dre["職工編號(hào)"].ToString();</p><p> textBox2.Text = dre["職工姓名"].ToString();</p><p> textBox3.Text = dre["性別"].ToString();</p><p> textBox4.
64、Text = dre["年齡"].ToString();</p><p> textBox5.Text = dre["職稱"].ToString();</p><p><b> }</b></p><p><b> else</b></p><p>&l
65、t;b> {</b></p><p> MessageBox.Show("查無(wú)此人");</p><p> textBox6.Text = "";</p><p><b> }</b></p><p> this.職工信息表TableAdapter.Fi
66、ll(this.職工考勤系統(tǒng)DataSet.職工信息表);</p><p> conn.Close();</p><p> conn.Dispose();</p><p><b> }</b></p><p> private void button4_Click(object sender, EventArgs
67、 e)</p><p><b> {</b></p><p><b> try {</b></p><p> SqlConnection conn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=職工考勤系統(tǒng);User I
68、d=sa;Password=147258");</p><p> conn.Open();</p><p> String sql = "update 職工信息表 set 職工姓名='" + textBox2.Text + "',性別='" + textBox3.Text + "',年齡=
69、9;" + textBox4.Text + "',職稱='" + textBox5.Text + "' where 職工編號(hào)='" + textBox1.Text + "'";</p><p> SqlCommand cmd = new SqlCommand(sql, conn);</p>
70、<p> cmd.ExecuteNonQuery();</p><p> MessageBox.Show("更新成功");</p><p> conn.Close();</p><p> conn.Dispose();</p><p> textBox1.Text = "";<
71、;/p><p> textBox2.Text = "";</p><p> textBox3.Text = "";</p><p> textBox4.Text = "";</p><p> textBox5.Text = "";</p><
72、;p> textBox6.Text = "";</p><p> this.職工信息表TableAdapter.Fill(this.職工考勤系統(tǒng)DataSet.職工信息表);</p><p><b> }</b></p><p> catch (Exception ex)</p><p>
73、;<b> {</b></p><p> MessageBox.Show(ex.Message);</p><p><b> }</b></p><p><b> }</b></p><p> 圖6-4 職工信息表</p><p><b&
74、gt; 6.5出差信息系統(tǒng)</b></p><p> 圖6-5 出差信息系統(tǒng)</p><p> 其中各按鈕代碼中總時(shí)長(zhǎng)代碼:</p><p> private void button3_Click(object sender, EventArgs e)</p><p><b> {</b></
75、p><p><b> try</b></p><p><b> {</b></p><p> SqlConnection connn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=職工考勤系統(tǒng);User Id=sa;Pass
76、word=147258");</p><p> connn.Open();</p><p> String sqll = "select * from 出差信息表1 where 職工編號(hào)='" + textBox1.Text + "'";</p><p> SqlCommand cmdd = n
77、ew SqlCommand(sqll, connn);</p><p> SqlDataReader dr = cmdd.ExecuteReader();</p><p> if (dr.HasRows)</p><p> while (dr.Read())</p><p><b> {</b></p>
78、;<p> te.Text = dr["出差開(kāi)始時(shí)間"].ToString();</p><p> tx.Text = dr["出差結(jié)束時(shí)間"].ToString();</p><p><b> }</b></p><p><b> }</b></p>
79、;<p> catch (Exception ex) { MessageBox.Show(ex.Message); }</p><p><b> try</b></p><p><b> {</b></p><p> string hour;</p><p> DateTim
80、e.TryParse(te.Text, out da1);</p><p> DateTime.TryParse(tx.Text, out da2);</p><p> tp = da2 - da1;</p><p> hour = tp.TotalMinutes.ToString();</p><p> SqlConnection
81、con = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=職工考勤系統(tǒng);User Id=sa;Password=147258");</p><p> con.Open();</p><p> String sql = "update 出差信息表1 set 出差總時(shí)間=
82、39;" +hour.Substring(0,5) + "分鐘" + "' where 職工編號(hào)='" + textBox1.Text + "'";</p><p> SqlCommand com = new SqlCommand(sql, con);</p><p> int n = com
83、.ExecuteNonQuery();</p><p> if (n > 0)</p><p><b> {</b></p><p> this.出差信息表1TableAdapter.Fill(this.職工考勤系統(tǒng)DataSet3.出差信息表1);</p><p> MessageBox.Show(&qu
84、ot;記錄完成!");</p><p><b> }</b></p><p><b> }</b></p><p> catch (Exception ex)</p><p><b> {</b></p><p> MessageBo
85、x.Show(ex.Message);</p><p><b> }</b></p><p><b> }</b></p><p> private void button4_Click(object sender, EventArgs e)</p><p><b> {</
86、b></p><p><b> try</b></p><p><b> {</b></p><p><b> string s;</b></p><p> s = this.dataGridView1.Rows[dataGridView1.CurrentRow.
87、Index].Cells[0].Value.ToString();</p><p> long n = Convert.ToInt64(s);</p><p> SqlConnection conn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=職工考勤系統(tǒng);User Id=sa;Pass
88、word=147258");</p><p> conn.Open();</p><p> String sql = "delete from 出差信息表1 where 職工編號(hào)='" + n + "'";</p><p> SqlCommand cmd = new SqlCommand(sql
89、, conn);</p><p> cmd.ExecuteNonQuery();</p><p> MessageBox.Show("刪除成功!");</p><p> this.出差信息表1TableAdapter.Fill(this.職工考勤系統(tǒng)DataSet3.出差信息表1);</p><p> conn.C
90、lose();</p><p><b> }</b></p><p><b> catch</b></p><p><b> {</b></p><p> MessageBox.Show("請(qǐng)選擇要?jiǎng)h除的課程號(hào)");</p><p
91、><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 6.6加班信息系統(tǒng)</b></p>&l
92、t;p> 圖6-6 加班信息系統(tǒng)</p><p><b> 其中刪除記錄代碼:</b></p><p> private void button1_Click(object sender, EventArgs e)</p><p><b> {</b></p><p><b>
93、; try</b></p><p><b> {</b></p><p> SqlConnection conn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=職工考勤系統(tǒng);User Id=sa;Password=147258");</p
94、><p> conn.Open();</p><p> String sql = "select * from 職工信息表 where 職工編號(hào)='" + textBox1.Text + "'";</p><p> SqlCommand cmd = new SqlCommand(sql, conn);<
95、/p><p> cmd.ExecuteNonQuery();</p><p> SqlDataReader dr = cmd.ExecuteReader();</p><p> if (dr.HasRows)</p><p> while (dr.Read())</p><p><b> {</b
96、></p><p> tx.Text = dr["職工姓名"].ToString();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p&g
97、t; MessageBox.Show("查無(wú)此人");</p><p><b> }</b></p><p> conn.Close();</p><p><b> }</b></p><p> catch (Exception ex) { MessageBox.Sho
98、w(ex.Message); }</p><p><b> try</b></p><p><b> {</b></p><p> SqlConnection conn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=職工
99、考勤系統(tǒng);User Id=sa;Password=147258");</p><p> conn.Open();</p><p> String sql = "insert into 加班信息表(職工編號(hào),職工姓名,加班開(kāi)始時(shí)間)values('" + textBox1.Text + "','" + tx.Tex
100、t + "','" + DateTime.Now.ToString()+ "')";</p><p> SqlCommand cmd = new SqlCommand(sql, conn);</p><p> int n = cmd.ExecuteNonQuery();</p><p> if (
101、n > 0)</p><p><b> {</b></p><p> MessageBox.Show("簽到成功");</p><p> this.加班信息表TableAdapter.Fill(this.職工考勤系統(tǒng)DataSet5.加班信息表);</p><p><b> }
102、</b></p><p> conn.Close();</p><p><b> }</b></p><p> catch { MessageBox.Show("禁止重復(fù)簽到"); }</p><p><b> }</b></p><p&g
103、t; private void button2_Click(object sender, EventArgs e)</p><p><b> {</b></p><p><b> try</b></p><p><b> {</b></p><p> SqlConne
104、ction connn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=職工考勤系統(tǒng);User Id=sa;Password=147258");</p><p> connn.Open();</p><p> String sqll = "update 加班信息表 set
105、 加班結(jié)束時(shí)間='" + DateTime.Now.ToString() + "' where 職工編號(hào)='" + textBox1.Text + "'";</p><p> SqlCommand cmdd = new SqlCommand(sqll, connn);</p><p> int n = c
106、mdd.ExecuteNonQuery();</p><p> if (n > 0)</p><p><b> {</b></p><p> this.加班信息表TableAdapter.Fill(this.職工考勤系統(tǒng)DataSet5.加班信息表);</p><p> MessageBox.Show(&q
107、uot;記錄完成!");</p><p><b> }</b></p><p><b> else</b></p><p> MessageBox.Show("信息輸入有誤");</p><p> connn.Close();</p><p&
108、gt;<b> }</b></p><p> catch (Exception ex)</p><p><b> {</b></p><p> MessageBox.Show(ex.Message);</p><p><b> }</b></p><
109、;p><b> }</b></p><p> private void button3_Click(object sender, EventArgs e)</p><p><b> {</b></p><p><b> try</b></p><p><b&
110、gt; {</b></p><p> SqlConnection connn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=職工考勤系統(tǒng);User Id=sa;Password=147258");</p><p> connn.Open();</p>
111、<p> String sqll = "select * from 加班信息表 where 職工編號(hào)='" + textBox1.Text + "'";</p><p> SqlCommand cmdd = new SqlCommand(sqll, connn);</p><p> SqlDataReader dr =
112、 cmdd.ExecuteReader();</p><p> if (dr.HasRows)</p><p> while (dr.Read())</p><p><b> {</b></p><p> te.Text = dr["加班開(kāi)始時(shí)間"].ToString();</p>
113、<p> tx.Text = dr["加班結(jié)束時(shí)間"].ToString();</p><p><b> }</b></p><p><b> }</b></p><p> catch (Exception ex) { MessageBox.Show(ex.Message); }&
114、lt;/p><p><b> try</b></p><p><b> {</b></p><p> string hour;</p><p> DateTime.TryParse(te.Text, out da1);</p><p> DateTime.TryPars
115、e(tx.Text, out da2);</p><p> tp = da2 - da1;</p><p> hour = tp.TotalMinutes.ToString();</p><p> SqlConnection con = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial
116、Catalog=職工考勤系統(tǒng);User Id=sa;Password=147258");</p><p> con.Open();</p><p> String sql = "update 加班信息表 set 加班總時(shí)間='" +hour.Substring(0,5)+ "分鐘" + "' where 職工
117、編號(hào)='" + textBox1.Text + "'";</p><p> SqlCommand com = new SqlCommand(sql, con);</p><p> int n = com.ExecuteNonQuery();</p><p> if (n > 0)</p><
118、;p><b> {</b></p><p> this.加班信息表TableAdapter.Fill(this.職工考勤系統(tǒng)DataSet5.加班信息表);</p><p> MessageBox.Show("記錄完成!");</p><p><b> }</b></p>&
119、lt;p><b> }</b></p><p> catch (Exception ex)</p><p><b> {</b></p><p> MessageBox.Show(ex.Message);</p><p><b> }</b></p>
120、<p><b> }</b></p><p><b> 6.7請(qǐng)假信息系統(tǒng)</b></p><p> 圖6-7 請(qǐng)假信息系統(tǒng) </p><p> 其中請(qǐng)假結(jié)束 時(shí)間的代碼: </p><p> private void button3_Click(object sender
121、, EventArgs e)</p><p><b> {</b></p><p><b> try</b></p><p><b> {</b></p><p> SqlConnection connn = new SqlConnection("Data S
122、ource=ZHANGHAO\\SQL2012;Initial Catalog=職工考勤系統(tǒng);User Id=sa;Password=147258");</p><p> connn.Open();</p><p> String sqll = "select * from 請(qǐng)假信息表3 where 職工編號(hào)='" + textBox1.Text
123、+ "'";</p><p> SqlCommand cmdd = new SqlCommand(sqll, connn);</p><p> SqlDataReader dr = cmdd.ExecuteReader();</p><p> if (dr.HasRows)</p><p> while (
124、dr.Read())</p><p><b> {</b></p><p> te.Text = dr["請(qǐng)假開(kāi)始時(shí)間"].ToString();</p><p> tx.Text = dr["請(qǐng)假結(jié)束時(shí)間"].ToString();</p><p><b> }
125、</b></p><p><b> }</b></p><p> catch (Exception ex) { MessageBox.Show(ex.Message); }</p><p><b> try</b></p><p><b> {</b><
126、;/p><p> string hour;</p><p> DateTime.TryParse(te.Text, out da1);</p><p> DateTime.TryParse(tx.Text, out da2);</p><p> tp = da2 - da1;</p><p> hour = tp
127、.TotalMinutes.ToString();</p><p> SqlConnection con = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=職工考勤系統(tǒng);User Id=sa;Password=147258");</p><p> con.Open();</p&
128、gt;<p> String sql = "update 請(qǐng)假信息表3 set 請(qǐng)假總時(shí)間='" + hour.Substring(0, 5) + "分鐘" + "' where 職工編號(hào)='" + textBox1.Text + "'";</p><p> SqlCommand c
129、om = new SqlCommand(sql, con);</p><p> int n = com.ExecuteNonQuery();</p><p> if (n > 0)</p><p><b> {</b></p><p> this.請(qǐng)假信息表3TableAdapter.Fill(this.職
130、工考勤系統(tǒng)DataSet9.請(qǐng)假信息表3);</p><p> MessageBox.Show("記錄完成!");</p><p><b> }</b></p><p><b> }</b></p><p><b> catch </b></p
131、><p><b> {</b></p><p> MessageBox.Show("時(shí)間太短,信息無(wú)效");</p><p> SqlConnection connn = new SqlConnection("Data Source=ZHANGHAO\\SQL2012;Initial Catalog=職工考勤系統(tǒng)
132、;User Id=sa;Password=147258");</p><p> connn.Open();</p><p> String sqll = "delete from 請(qǐng)假信息表3 where 職工編號(hào)='" + textBox1.Text + "'";</p><p> SqlCo
133、mmand cmdd = new SqlCommand(sqll, connn);</p><p> SqlDataReader dr = cmdd.ExecuteReader();</p><p> this.請(qǐng)假信息表3TableAdapter.Fill(this.職工考勤系統(tǒng)DataSet9.請(qǐng)假信息表3);</p><p><b> }<
134、;/b></p><p><b> }</b></p><p><b> 七 心得體會(huì)</b></p><p> 本系統(tǒng)在信息表述上還不完備,一些模塊的信息還不夠詳細(xì),主要是提供的報(bào)表有限。系統(tǒng)雖然針對(duì)中小企業(yè)的考勤管理業(yè)務(wù)。對(duì)使用打卡機(jī)、指紋機(jī)進(jìn)行出、退勤的企業(yè),還需要添加一個(gè)采集打卡機(jī)和指紋機(jī)的數(shù)據(jù)模塊。
135、下一步可以再熟悉系統(tǒng)設(shè)計(jì)風(fēng)格的基礎(chǔ)上,在各個(gè)界面上進(jìn)一步添加多需要的字段和報(bào)表,或者添加采集數(shù)據(jù)的模塊,以擴(kuò)充系統(tǒng)的功能。本系統(tǒng)的創(chuàng)新點(diǎn)在于觸發(fā)器的應(yīng)用,每增加一條記錄,都會(huì)重新統(tǒng)計(jì)一下記錄次數(shù),并存入月紀(jì)錄中,使得信息更加準(zhǔn)確。 在設(shè)計(jì)時(shí)由于對(duì)編程語(yǔ)言知識(shí)的匱乏,所以數(shù)據(jù)庫(kù)的界面化沒(méi)有做成,如若想更加完善數(shù)據(jù)庫(kù),應(yīng)該結(jié)合一些編程語(yǔ)言,使得操作界面更加人性化,簡(jiǎn)單化。</p><p> 通過(guò)本次設(shè)計(jì),我們對(duì)數(shù)據(jù)
136、庫(kù)有了更深入的了解,見(jiàn)證了一個(gè)系統(tǒng)從無(wú)到有,從漏洞百出到逐漸完善的過(guò)稱,是我們所學(xué)的只是得以所用,加深了對(duì)數(shù)據(jù)庫(kù)的理解,在設(shè)計(jì)過(guò)程中有很多不會(huì)的問(wèn)題,通過(guò)自己查閱資料逐漸解決,這本身就是一個(gè)學(xué)習(xí)的過(guò)程,不僅學(xué)到了只是,還掌握了學(xué)習(xí)方法。同時(shí)讓我們認(rèn)識(shí)到自己所學(xué)知識(shí)的匱乏,所以要全面發(fā)展自己的專業(yè),一個(gè)人的能力總是有限的,所以團(tuán)隊(duì)合作很重要,在做設(shè)計(jì)的過(guò)程中要學(xué)習(xí)他人之長(zhǎng),聽(tīng)取他人的意見(jiàn),虛心向別人請(qǐng)教。雖然我們做的設(shè)計(jì)還不是很完善,但我
137、們覺(jué)得很有意義,對(duì)我們今后的人生都很有幫助。</p><p><b> 八 參考文獻(xiàn)</b></p><p> [1] 胡師彥. 微軟SQL Server2000數(shù)據(jù)庫(kù)的特點(diǎn)及查詢優(yōu)化研究[J]. 蘭州工業(yè)高 等專科學(xué)校學(xué)報(bào)</p><p> [2] 王西文,張廣智. 淺談SQL Server應(yīng)用方法和技巧[J]. 山東水利</p
138、><p> [3] 何思文. 基于SQL Server 2000的數(shù)據(jù)倉(cāng)庫(kù)的實(shí)現(xiàn)[J]. 廣東科技 </p><p> [4] 白青海,張善勇,鄭瑛. ADO與SQL SERVER 2000數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)探討[J]. 內(nèi)蒙古民族大學(xué)學(xué)報(bào)(自然科學(xué)版) </p><p> [5]莫德舉.Visual Basic 程序設(shè)計(jì).北京郵電大學(xué)出版</p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-- 職工考勤管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--職工考勤管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--職工考勤管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--職工考勤管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--職工考勤管理信息系統(tǒng)-(1)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--考勤管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--- 論壇管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-酒店管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---醫(yī)院管理信息系統(tǒng)
- 職工考勤管理信息系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 職工考勤管理信息系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---學(xué)生管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)學(xué)生管理信息系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---圖書管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)原理及應(yīng)用課程設(shè)計(jì)--職工考勤管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--醫(yī)院門診管理信息系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-圖書館管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--- 企業(yè)人事管理信息系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)- 企業(yè)人事管理信息系統(tǒng)
評(píng)論
0/150
提交評(píng)論