2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p>  1.引言…………………………………………………………… 2</p><p>  2.概要設計………………………………………………………. 4</p><p>  3.詳細設計………………………………………………………. 6</p><p>  4. 調試與運

2、行結果及存在的主要問題……………………….. 16</p><p>  5. 課程設計小結…………………………………………………</p><p>  6. 參考文獻……………………………………………………….</p><p><b>  引言</b></p><p><b>  1.設計環(huán)境:</b>

3、;</p><p>  設計環(huán)境具體有visual basic 6.0,Microsoft SQL Server 2000.</p><p><b>  2.同組人員:</b></p><p>  完成該設計的人員為04- 3班的方靖和鄺銳強。</p><p><b>  3.具體分工:</b>&l

4、t;/p><p>  經(jīng)過兩人的討論分析后共同完成該題目的需求分析,概念結構設計以及邏輯結構的設計。在具體實施階段方靖主要負責登陸界面,各職工基本資料的界面設計及相應的連接數(shù)據(jù)庫部分,實現(xiàn)數(shù)據(jù)庫備份和還原部分以及數(shù)據(jù)庫數(shù)據(jù)的初始化。鄺銳強主要負責對各人員相關資料的刪除,修改,增加部分的界面設計及相應的連接數(shù)據(jù)庫部分,操作員管理和權限設置。</p><p><b>  概要設計<

5、/b></p><p><b>  系統(tǒng)需求分析:</b></p><p>  通過調查本地的企業(yè),根據(jù)企業(yè)的具體情況設計企業(yè)人事管理系統(tǒng)。主要功能有:</p><p> ?、偃耸聶n案管理:戶口狀況、政治面貌、生理狀況、合同管理等;</p><p> ?、诳记诩影喑霾罟芾恚?lt;/p><p>

6、  ③人事變動:新進員工登記、員工離職登記、人事變更記錄;</p><p><b> ?、芸己霜剳停?lt;/b></p><p><b> ?、輪T工培訓;</b></p><p> ?、尴到y(tǒng)維護:如數(shù)據(jù)安全管理(含備份與恢復)、操作員管理、權限設置等;</p><p>  由以上可知可以具體設計五類人員

7、:員工,維護部員工,經(jīng)理,人事部經(jīng)理以及總裁,其中員工只能查詢本人的基本資料:工號,姓名,性別,戶籍情況,政治面貌,生理狀況,合同,所屬部門以及自身的考勤考核獎勵情況。而維護部員工除了可以完成普通員工的功能外還可以進行系統(tǒng)維護。經(jīng)理可以管理員工,包括增加刪除本部門員工以及修改員工資料。人事部經(jīng)理在經(jīng)理的功能上增加了可以刪除增加修改其他部門員工資料的功能,而總裁可以任意增加刪除修改所有部門經(jīng)理及員工的資料。而對于所有人員均記錄其基本資料和

8、日常狀況資料。</p><p><b>  系統(tǒng)結構設計:</b></p><p>  由需求分析可以劃出系統(tǒng)結構圖,如下:</p><p><b>  功能模塊設計:</b></p><p>  由以上分析可以劃出功能模塊設計圖,如下:</p><p><b> 

9、 詳細設計</b></p><p><b>  系統(tǒng)數(shù)據(jù)庫設計:</b></p><p>  經(jīng)過需求分析設計后得出數(shù)據(jù)庫設計的概念模型,其中包含兩個實體,一個是人員表,一個是日常情況表。如下:</p><p>  人員(工號,姓名,性別,年齡,戶口,政治面貌,生理狀況,合同管理,照片,密碼,所管(屬)部門(地區(qū)),職位)</

10、p><p>  日常情況(工號,日期,考勤,加班,懲罰,培訓)</p><p>  具體創(chuàng)建表的具體代碼如下:</p><p>  create table BaseTable(</p><p>  BID varchar(10) not null unique,</p><p>  BName varchar(20) n

11、ot null,</p><p><b>  BAge int,</b></p><p>  BSex varchar(2),</p><p>  BResidence varchar(50),</p><p>  BPolity varchar(50),</p><p>  BHealthy v

12、archar(50),</p><p>  BAgreement varchar(50),</p><p>  BDepartment varchar(20) not null,</p><p>  BPhoto image,</p><p>  BPassword varchar(50) not null,</p><p

13、>  BPosition varchar(10) not null,</p><p>  primary key(BID),</p><p>  check (BAge>0),</p><p>  check (BSex in ('男','女')),</p><p>  check (BPositi

14、on in ('員工','維護部員工','經(jīng)理','人事經(jīng)理','總裁'))</p><p><b>  );</b></p><p>  create table ExtendTable(</p><p>  EID varchar(10) not null,&l

15、t;/p><p>  EDate datetime not null,</p><p>  EState varchar(4),--考勤,內(nèi)容為“請假,曠到,遲到,正常,出差”</p><p>  EOverwork varchar(2),--加班,內(nèi)容“有,無”</p><p>  ERAP varchar(500),--獎懲(re

16、wards and punishment)</p><p>  ETraining varchar(500),</p><p>  primary key(EID,EDate),</p><p>  check (EState in ('請假','曠到','遲到','正常','出差'))

17、,</p><p>  check (EOverwork in ('有','無')),</p><p>  foreign key(EID) references BaseTable(BID) on delete cascade </p><p><b>  );</b></p><p>

18、  所創(chuàng)建表的設計圖如下所示:</p><p>  BaseTable表:</p><p>  用E-R圖表示該實體如下:</p><p>  ExtendTable表:</p><p>  用E-R圖表示該實體如下:</p><p>  完整的E-R圖如下所示:</p><p>  系統(tǒng)主要功

19、能模塊設計</p><p>  各模塊的主要算法對應的原代碼</p><p><b>  數(shù)據(jù)庫的連接:</b></p><p> ?、?利用控件Adodc連接:</p><p>  在Adodc控件中,設置ConnectStringProvider=”SQLOLEDB.1;Integrated Security=SSP

20、I;Persist Security Info=False;Initial Catalog=ManageSystem”,然后再設置CommandType為8 – adCmdUnknown,數(shù)據(jù)源定為SQL查詢語句,語句內(nèi)容根據(jù)不同需要而更改。</p><p>  設定ConnectString屬性</p><p>  P.S:當然,可以手工輸入,也可以利用“生成”讓VB自動給出語句。<

21、;/p><p>  設定RecordSource屬性</p><p>  連接數(shù)據(jù)庫核心語句:</p><p>  Adodc1.ConnectStringProvider=”SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ManageSystem”</

22、p><p>  Adodc1.RecordSource = SQL查詢語句</p><p>  Adodc1.Recordset.Open</p><p>  Adodc1.Refresh</p><p>  斷開數(shù)據(jù)庫核心語句:</p><p>  Adodc1.Recordset.Close</p>&l

23、t;p> ?、?利用ADODB對象作為SQL連接接口:</p><p>  由于在程序中使用瞬間連接數(shù)據(jù)庫比長期連接數(shù)據(jù)庫高效,而且在本程序中大量使用,因而新增了模塊Module1,自定義了SqlConnect函數(shù)作為連接,SqlDisConnect函數(shù)來斷開連接,方便編寫程序,提高代碼使用率,提高開發(fā)效率和運行效率。</p><p>  連接數(shù)據(jù)庫核心語句:</p>

24、<p>  Set Ado_Conn = New ADODB.Connection</p><p>  Set Ado_RS = New ADODB.Recordset</p><p>  str_CS = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial

25、Catalog=ManageSystem"</p><p>  str_RS = SQL查詢語句</p><p>  SqlConnect Ado_Conn, Ado_RS, str_CS, str_RS</p><p>  其中模塊中定義了SqlConnect函數(shù): </p><p>  Public Sub SqlConnect

26、(ByVal Ado_Connection As ADODB.Connection, _</p><p>  ByVal Ado_Recordset As ADODB.Recordset, _</p><p>  Ado_ConnectionString As String, _</p><p>  Ado_RecordSource As String)</p

27、><p>  Ado_Connection.ConnectionString = Ado_ConnectionString</p><p>  Ado_Connection.ConnectionTimeout = 30</p><p>  Ado_Connection.Open</p><p>  Ado_Recordset.Open Ado_R

28、ecordSource, Ado_Connection</p><p><b>  End Sub</b></p><p>  斷開數(shù)據(jù)庫核心語句:</p><p>  SqlDisConnect Ado_RS</p><p>  其中模塊中定義了SqlDisConnect函數(shù):</p><p>

29、  Public Sub SqlDisConnect(ByVal AdoRecordset As ADODB.Recordset)</p><p>  If AdoRecordset.State Then AdoRecordset.Close</p><p><b>  End Sub</b></p><p><b>  數(shù)據(jù)的查詢:

30、</b></p><p>  ⑴ 利用表格方式對SQL數(shù)據(jù)進行查詢:</p><p>  利用連接數(shù)據(jù)庫的方法,返回一個RecordSet集合。</p><p>  通過MSHFlexGrid控件、DataGrid控件等控件對集合作表格方式的輸出。使用Adodc控件時,可以通過屬性的設定,把MSHFlexGrid控件、DataGrid1控件捆綁在Adod

31、c控件上。</p><p>  對用Adodc控件捆綁</p><p>  當使用ADODB對象時,可以通過Set語句對MSHFlexGrid.DataSourse 進行賦ADODB對象的Recordset值。但是DataGrid1則不能。</p><p> ?、?利用字符竄方式對SQL數(shù)據(jù)進行查詢</p><p>  利用連接數(shù)據(jù)庫的方法,

32、返回一個RecordSet集合。</p><p>  通過對RecordSet集合的提取,把元組中的屬性值賦給TextBox等控件控件,讓其輸出。</p><p>  核心代碼: Adodc1.Recordset.MoveFirst</p><p>  Adodc1.Recordset.Find "工號='1234"</p&g

33、t;<p>  Text1.Text = Adodc1.Recordset.Fields("工號").Value</p><p>  Text2.Text = Adodc1.Recordset.Fields("姓名").Value</p><p><b>  .</b></p><p>&l

34、t;b>  .</b></p><p><b>  .</b></p><p> ?、?對查詢所得到的集合作出判空:</p><p>  方法有多種:(設Ado_RS為Recordset)</p><p>  A、利用EOF和BOF兩個屬性進行判斷:</p><p>  If A

35、do_RS.BOF = False And Ado_RS.EOF = False Then </p><p><b>  集合不為空</b></p><p><b>  Else</b></p><p><b>  集合為空</b></p><p><b>  End

36、 If</b></p><p>  B、利用Recordset 的RecordCount屬性判斷:</p><p>  If Ado_RS.RecordCount > 0 Then </p><p><b>  集合不為空</b></p><p><b>  Else</b><

37、;/p><p><b>  集合為空</b></p><p><b>  End If</b></p><p>  C、利用DataGrid 的ApproxCount屬性來判斷:</p><p>  判斷條件會因表格的自定義顯示而有所不同</p><p>  If DataGri

38、d1.ApproxCount > 0 Then</p><p><b>  集合不為空</b></p><p><b>  Else</b></p><p><b>  集合為空</b></p><p><b>  End If</b></p&

39、gt;<p>  D、利用MSHFlexGrid的Rows屬性判斷:</p><p>  判斷條件會因表格的自定義顯示而有所不同</p><p>  If MSHFlexGrid1. Rows> 1 Then</p><p><b>  集合不為空</b></p><p><b>  Els

40、e</b></p><p><b>  集合為空</b></p><p><b>  End If</b></p><p><b> ?、?查詢特定元組</b></p><p>  對于特定元組,由于主碼的唯一性,所以當對主碼作準確查詢時,所得的表只有兩種情況:只有

41、一條元組或者什么都沒有。</p><p>  通過⑶的方法,可以對集合判空。如果為空,則認為特定元組不存在,,查詢失?。蝗绻祷匾粭l元組,則指針肯定是指向該元組,可以馬上對數(shù)據(jù)進行讀取。</p><p><b>  核心代碼:</b></p><p>  Set Ado_Conn = New ADODB.Connection</p>

42、<p>  Set Ado_RS = New ADODB.Recordset</p><p>  str_CS = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ManageSystem"</p><p>  str_RS

43、= "select * from BaseTable where BID='" & Trim(Text1.Text) & "'"</p><p>  SqlConnect Ado_Conn, Ado_RS, str_CS, str_RS</p><p>  Ado_RS.RecordCount</p>&

44、lt;p><b>  '檢測帳號是否存在</b></p><p>  If Ado_RS.EOF = False Then '如果帳號存在</p><p>  If Trim(Ado_RS.Fields("BID")) = Trim(Text1.Text) And Trim(Ado_RS.Fields("BPa

45、ssword")) = Trim(Text2.Text) Then</p><p>  還有一種方法,利用Find方法進行查找,如果找到則指針指向該元組。如找不到則返回錯誤。因此利用捕獲錯誤的方法也可以得到效果。</p><p>  第三種,利用MSHFlexGrid控件、DataGrid控件等,均可以利用控件內(nèi)部的屬性和方法進行查詢。</p><p>&

46、lt;b>  數(shù)據(jù)的修改:</b></p><p> ?、?利用嵌入SQL語句。</p><p>  首先使用ADODB對象連接的方法,利用ADODB.Connection.</p><p>  Execute直接嵌套運行SQL語句對數(shù)據(jù)進行修改。</p><p><b>  核心語句:</b><

47、/p><p>  Ado_Conn.Execute “updata 表名 set 某屬性=XX”</p><p>  ⑵ 此外還可以利用ADO接口提供的Fields屬性對數(shù)據(jù)進行修改。</p><p><b>  核心語句:</b></p><p>  Adodc1.Recordset.Find "工號='

48、" & Text3.Text & "'"</p><p>  Adodc1.Recordset.Fields("姓名") = Text4.Text</p><p>  Adodc1.Recordset.Fields("所屬部門") = Combo2.Text</p><p>

49、;  Adodc1.Recordset.Fields("職位") = Combo3.Text</p><p>  Adodc1.Recordset.Update</p><p>  Adodc1.Refresh</p><p>  ⑶ 利用DataGrid控件對數(shù)據(jù)庫進行強行修改。</p><p>  只需要連接好數(shù)據(jù)庫,

50、然后對DataGrid進行捆綁,而且DataGrid的AllowUpdate等屬性設為True就可以通過界面直接修改。</p><p><b>  數(shù)據(jù)的刪除</b></p><p><b>  基本方法跟3一樣。</b></p><p> ?、?使用SQL嵌套語句刪除數(shù)據(jù)。</p><p>  A

51、do_Conn.Execute “delete from表名 where某屬性=XX”</p><p> ?、?此外還可以利用ADO接口提供的Fields屬性對數(shù)據(jù)進行修改。</p><p><b>  核心語句:</b></p><p>  Adodc1.Recordset.MoveFirst</p><p>  Ad

52、odc1.Recordset.Find "工號='" & Text3.Text & "'"</p><p>  Adodc1.Recordset.Delete</p><p>  Adodc1.Recordset.Update</p><p><b>  5、數(shù)據(jù)的添加:</b&

53、gt;</p><p><b>  基本方法跟3一樣。</b></p><p> ?、?使用SQL嵌套語句增加數(shù)據(jù)。</p><p>  Ado_Conn.Execute “insert into 表名 values(某屬性=XX)”</p><p> ?、?此外還可以利用ADO接口提供的Fields屬性對數(shù)據(jù)進行修改。

54、</p><p><b>  核心語句:</b></p><p>  Adodc1.Recordset.MoveFirst</p><p>  Adodc1.Recordset.AddItem</p><p>  Adodc1.Recordset.Fields("姓名") = Text4.Text&l

55、t;/p><p>  Adodc1.Recordset.Fields("所屬部門") = Combo2.Text</p><p>  Adodc1.Recordset.Fields("職位") = Combo3.Text</p><p>  Adodc1.Recordset.Update</p><p> 

56、 Adodc1.Refresh</p><p><b>  7、權限的分配</b></p><p>  讀取BaseTable(員工基本表)里面的BPosition(職位)。通過對其的判斷,來選擇其他更多的步驟。</p><p><b>  核心語句:</b></p><p>  Select Ca

57、se Trim(Ado_RS.Fields("BPosition")) '檢測權限</p><p><b>  Case "總裁"</b></p><p><b>  …………</b></p><p>  Case "人事經(jīng)理"</p>

58、<p><b>  …………</b></p><p><b>  Case "經(jīng)理"</b></p><p><b>  …………</b></p><p>  Case "維護部員工"</p><p><b>  …

59、………</b></p><p><b>  Case "員工"</b></p><p><b>  …………</b></p><p>  End Select</p><p>  調試與運行結果及主要問題</p><p>  在程序設計過程中遇

60、到的主要問題是如何將數(shù)據(jù)庫數(shù)據(jù)和vb連接起來,設置外碼與被參照關系中主碼的及聯(lián)關系以及如何高效地實現(xiàn)查詢功能。同時由于在數(shù)據(jù)庫基本資料表中添加了照片屬性,但由于能力有限,至今仍不懂往數(shù)據(jù)庫表中插入圖片的方法。另外一個方面的問題就是界面不夠漂亮,顯得有點死板。</p><p><b>  主要截圖如下:</b></p><p><b>  登陸框</b&

61、gt;</p><p><b>  總裁管理截圖</b></p><p><b>  員工管理截圖</b></p><p><b>  數(shù)據(jù)備份和恢復</b></p><p><b>  經(jīng)理管理截圖</b></p><p>  考

62、勤-獎懲-培訓一覽表</p><p><b>  添加經(jīng)理截圖</b></p><p><b>  添加員工截圖</b></p><p><b>  維護員工查詢截圖</b></p><p><b>  一般員工查詢截圖</b></p>&l

63、t;p><b>  *課程設計小結*</b></p><p><b>  參考文獻</b></p><p>  薩師煊,王珊。數(shù)據(jù)庫系統(tǒng)概論(第三版)</p><p>  劉曉華。SQL Server 2000數(shù)據(jù)庫應用開發(fā)</p><p>  張勇。Visual Basic 課程設計案例精編

溫馨提示

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

評論

0/150

提交評論