數(shù)據(jù)庫課程設(shè)計-- 職工考勤管理信息系統(tǒng)_第1頁
已閱讀1頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課 程 設(shè) 計</b></p><p><b>  2015年12月</b></p><p><b>  目錄</b></p><p><b>  一 可行性研究1</b></p><p>  1.1 問題描述1</

2、p><p>  1.2 研究目的1</p><p>  1.3 開發(fā)環(huá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 請假管理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è)計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 請假記錄 E-R圖6</p><p>  3.2 總 E-R圖6</p><p>  四 邏輯結(jié)構(gòu)設(shè)計7</p><p><b>  4.1關(guān)系模式7</b></p><p>  五 數(shù)據(jù)實施

6、和維護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請假資料表10</p><p>  5.2.4出差資料表10</

7、p><p><b>  六 測試11</b></p><p>  6.1登錄模板測試11</p><p>  6.2登錄后頁面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請假信息系統(tǒng)29</p><p>  七 心得體會32</p><p>  八 參考文獻32</p><p><b>  一 可行性研究</b></p><p><b>  1.1 問

9、題描述</b></p><p>  隨著企業(yè)人事管理的日趨復(fù)雜和企業(yè)人員的增多,企業(yè)的考勤管理變得越來越復(fù)雜。規(guī)范的考勤管理是現(xiàn)代企業(yè)提高管理效益的重要保證,而傳統(tǒng)的人工管理存在著效率低、不易統(tǒng)計、成本高和易出錯等弊端,已經(jīng)無法適應(yīng)現(xiàn)代企業(yè)的需求。隨著計算機技術(shù)和通信技術(shù)的迅速發(fā)展,將傳統(tǒng)的人工考勤管理計算機化,建立一個高效率的、無差錯的考勤管理系統(tǒng),能夠有效的幫助企業(yè)實現(xiàn)“公正考勤,高效薪資”,使企

10、業(yè)的管理水平登上一個新的臺階。 </p><p>  職工考勤管理經(jīng)過如下的業(yè)務(wù)流程:</p><p> ?。?)員工基本信息管理,添加,刪除,更改</p><p> ?。?)員工考勤管理,員工根據(jù)自己的班次在上下班時分別進行出勤操作,采用手動方式或者使用劃卡機。由人事部門專門的人員管理出勤和退勤信息。</p><p>  (3)一般在每個月

11、月初進行考勤匯總,匯總信息包括工作日的出勤情況、請假天數(shù)、出差天數(shù)、休假天數(shù)和不同性質(zhì)的加班記錄等。</p><p><b>  1.2 研究目的</b></p><p>  待開發(fā)的系統(tǒng)的名稱為職工考勤管理信息系統(tǒng)。</p><p>  我們以中小型企業(yè)的考勤管理業(yè)務(wù)為依托,結(jié)合科學(xué)管理的理論,設(shè)計并開發(fā)一個企業(yè)考勤管理信息系統(tǒng),提供一個科學(xué)

12、合理的考勤管理解決方案,徹底實現(xiàn)無紙化作業(yè)。根據(jù)管理權(quán)限的不同,將界面分為一般職員、部門經(jīng)理、系統(tǒng)管理員和最高管理者四個層次。</p><p> ?。?)提供簡單、方便的操作。</p><p> ?。?)根據(jù)企業(yè)原來的考勤管理制度,為企業(yè)不同管理層次提供相應(yīng)的功能。</p><p> ?。?)通過考勤管理無紙化的實現(xiàn),使企業(yè)的考勤管理更加科學(xué)規(guī)范。</p>

13、;<p> ?。?)節(jié)省考勤管理的成本。</p><p> ?。?)提高企業(yè)考勤管理的透明度和效率,防止“虛假出勤“的現(xiàn)象。</p><p>  (6)對系統(tǒng)提供必要的權(quán)限管理。</p><p> ?。?)為企業(yè)實現(xiàn)整體信息化的其他相關(guān)系統(tǒng)提供必要的數(shù)據(jù)支持。</p><p>  1.3 開發(fā)環(huán)境和運行環(huán)境</p>

14、<p>  公司考勤管理系統(tǒng)這運用了當(dāng)前最流行的SQL SERVER2012來建表還有前臺應(yīng)用程序采用VISUAL STUDIOI2015編寫運行和開發(fā)的。</p><p>  1.庫、基本表的建立和修改:在SQL-SERVER環(huán)境下用CREATE TABLE 建立庫以及庫中基本表。</p><p>  2.?dāng)?shù)據(jù)加載: 用手工錄入或?qū)氲确椒▽崿F(xiàn)基本表中的數(shù)據(jù)加載。</p

15、><p>  3.單表查詢以及多表查詢:在建立的基本表中使用select基本格式和聚集函數(shù);設(shè)計合適的視圖,實現(xiàn)多表間查詢。</p><p>  4.用SQL SERVER 2012等開發(fā)環(huán)境設(shè)計、實現(xiàn)系統(tǒng)主要功能。</p><p>  1.4 預(yù)期結(jié)果和意義</p><p>  考勤系統(tǒng)能實現(xiàn)職工日考勤記錄,記錄請假信息,記錄出差信息等功能,并

16、最終所有信息歸入月統(tǒng)計中去。</p><p>  本考勤系統(tǒng)建立了一個高效率的、無差錯的考勤管理系統(tǒng),能夠有效的幫助企業(yè)實現(xiàn)“公正考勤,高效薪資”,使企業(yè)的管理水平登上一個新的臺階。 </p><p><b>  二 需求分析</b></p><p><b>  2.1 功能需求</b></p><p

17、>  2.1.1 數(shù)據(jù)管理</p><p>  功能是設(shè)置和管理基礎(chǔ)數(shù)據(jù),包括加班、請假類別的定義和班次的定義,在全縣范圍內(nèi)可以進行基礎(chǔ)數(shù)據(jù)的添加、刪除和修改。</p><p><b>  2.1.2考勤管理</b></p><p>  包括出勤動作、出勤信息的查詢;上級對下級員工的出勤信息的確認;生成考勤統(tǒng)計信息并可以根據(jù)指定的條件進行

18、查詢。實現(xiàn)從每日出勤到統(tǒng)計全部考勤信息的無紙化操作。為方便數(shù)據(jù)傳遞和查閱,要根據(jù)需求提供不同時間短的考勤統(tǒng)計信息表。</p><p><b>  2.1.3加班管理</b></p><p>  對員工的加班時間進行統(tǒng)計,記錄開始時間和結(jié)束時間,對加班信息實現(xiàn)添加,刪除等操作。</p><p>  2.1.4 請假管理</p>&l

19、t;p>  可以提出請假申請,并完善請假信息,如請假開始時間,請假結(jié)束時間,請假的次數(shù)進行管理。</p><p>  2.1.5 出差管理</p><p>  管理者安排員工出差,對出差時間,次數(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ù)的基本存取單位是存儲記錄。有了邏輯結(jié)構(gòu)以后,就可以設(shè)計存儲記錄結(jié)構(gòu),一個存儲記錄可以與多個邏輯記錄相對應(yīng)。存儲記錄就包括記錄的組成,數(shù)據(jù)項的類型和長度等。</p><p><b>  三 概念結(jié)構(gòu)設(shè)計</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 請假記錄 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è)計</b></p><p><b>  4.1關(guān)系模式</b></p><p>  職工信息(職工編號,姓名,性別,年齡,職稱)</p><p>  出勤記錄(上班打卡時間,下班打卡時間,缺勤記錄)</p>&

25、lt;p>  出差記錄(出差開始時間,出差結(jié)束時間,統(tǒng)計出差時間)</p><p>  加班信息(加班開始時間,加班結(jié)束時間,加班時間統(tǒng)計)</p><p>  請假信息(請假開始時間,請假結(jié)束時間,請假時間統(tǒng)計)</p><p><b>  五 數(shù)據(jù)實施和維護</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請假資料表</p><p>  圖5-8請假資料表屬性</p><p><b>  圖5-9請假資料表</b></p><p>  5.2.4出差資料表</p><p>  圖5-10出差資料表屬性</p><p>  圖5-11出差資

29、料表</p><p><b>  六 測試</b></p><p><b>  6.1登錄模板測試</b></p><p>  為了系統(tǒng)的安全,在進入系統(tǒng)之前首先會出現(xiàn)一個登錄模塊,用戶只有在輸入正確的用戶名和正確的密碼之后,才能進入系統(tǒng)。</p><p><b>  圖6-1登錄界面&l

30、t;/b></p><p>  登錄代碼的簡單說明:</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("請輸入用戶名或密碼");</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登錄后頁面</b></p><p>  圖6-2 登錄后頁面</p><p>  登錄進入的主頁面主要代碼:&

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 職工編號='"+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("查無此人");</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 出勤信息表(職工編號,職工姓名,上班時間)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)驗值+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>  職工信息表的插入添加還有查詢頁面 其相關(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 職工編號='" + 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["職工編號"].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("查無此人");</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 職工編號='" + 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>  其中各按鈕代碼中總時長代碼:</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 職工編號='" + 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["出差開始時間"].ToString();</p><p>  tx.Text = dr["出差結(jié)束時間"].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 出差總時間=&#

82、39;" +hour.Substring(0,5) + "分鐘" + "' where 職工編號='" + 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 職工編號='" + 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("請選擇要刪除的課程號");</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 職工編號='" + 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("查無此人");</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 加班信息表(職工編號,職工姓名,加班開始時間)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é)束時間='" + DateTime.Now.ToString() + "' where 職工編號='" + 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 職工編號='" + 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["加班開始時間"].ToString();</p>

113、<p>  tx.Text = dr["加班結(jié)束時間"].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 加班總時間='" +hour.Substring(0,5)+ "分鐘" + "' where 職工

117、編號='" + 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請假信息系統(tǒng)</b></p><p>  圖6-7 請假信息系統(tǒng) </p><p>  其中請假結(jié)束 時間的代碼: </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 請假信息表3 where 職工編號='" + 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["請假開始時間"].ToString();</p><p>  tx.Text = dr["請假結(jié)束時間"].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 請假信息表3 set 請假總時間='" + hour.Substring(0, 5) + "分鐘" + "' where 職工編號='" + 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.請假信息表3TableAdapter.Fill(this.職

130、工考勤系統(tǒng)DataSet9.請假信息表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("時間太短,信息無效");</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 請假信息表3 where 職工編號='" + textBox1.Text + "'";</p><p>  SqlCo

133、mmand cmdd = new SqlCommand(sqll, connn);</p><p>  SqlDataReader dr = cmdd.ExecuteReader();</p><p>  this.請假信息表3TableAdapter.Fill(this.職工考勤系統(tǒng)DataSet9.請假信息表3);</p><p><b>  }<

134、;/b></p><p><b>  }</b></p><p><b>  七 心得體會</b></p><p>  本系統(tǒng)在信息表述上還不完備,一些模塊的信息還不夠詳細,主要是提供的報表有限。系統(tǒng)雖然針對中小企業(yè)的考勤管理業(yè)務(wù)。對使用打卡機、指紋機進行出、退勤的企業(yè),還需要添加一個采集打卡機和指紋機的數(shù)據(jù)模塊。

135、下一步可以再熟悉系統(tǒng)設(shè)計風(fēng)格的基礎(chǔ)上,在各個界面上進一步添加多需要的字段和報表,或者添加采集數(shù)據(jù)的模塊,以擴充系統(tǒng)的功能。本系統(tǒng)的創(chuàng)新點在于觸發(fā)器的應(yīng)用,每增加一條記錄,都會重新統(tǒng)計一下記錄次數(shù),并存入月紀(jì)錄中,使得信息更加準(zhǔn)確。 在設(shè)計時由于對編程語言知識的匱乏,所以數(shù)據(jù)庫的界面化沒有做成,如若想更加完善數(shù)據(jù)庫,應(yīng)該結(jié)合一些編程語言,使得操作界面更加人性化,簡單化。</p><p>  通過本次設(shè)計,我們對數(shù)據(jù)

136、庫有了更深入的了解,見證了一個系統(tǒng)從無到有,從漏洞百出到逐漸完善的過稱,是我們所學(xué)的只是得以所用,加深了對數(shù)據(jù)庫的理解,在設(shè)計過程中有很多不會的問題,通過自己查閱資料逐漸解決,這本身就是一個學(xué)習(xí)的過程,不僅學(xué)到了只是,還掌握了學(xué)習(xí)方法。同時讓我們認識到自己所學(xué)知識的匱乏,所以要全面發(fā)展自己的專業(yè),一個人的能力總是有限的,所以團隊合作很重要,在做設(shè)計的過程中要學(xué)習(xí)他人之長,聽取他人的意見,虛心向別人請教。雖然我們做的設(shè)計還不是很完善,但我

137、們覺得很有意義,對我們今后的人生都很有幫助。</p><p><b>  八 參考文獻</b></p><p>  [1] 胡師彥. 微軟SQL Server2000數(shù)據(jù)庫的特點及查詢優(yōu)化研究[J]. 蘭州工業(yè)高 等??茖W(xué)校學(xué)報</p><p>  [2] 王西文,張廣智. 淺談SQL Server應(yīng)用方法和技巧[J]. 山東水利</p

138、><p>  [3] 何思文. 基于SQL Server 2000的數(shù)據(jù)倉庫的實現(xiàn)[J]. 廣東科技 </p><p>  [4] 白青海,張善勇,鄭瑛. ADO與SQL SERVER 2000數(shù)據(jù)庫應(yīng)用程序開發(fā)探討[J]. 內(nèi)蒙古民族大學(xué)學(xué)報(自然科學(xué)版) </p><p>  [5]莫德舉.Visual Basic 程序設(shè)計.北京郵電大學(xué)出版</p>

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論