數(shù)據(jù)庫工資管理系統(tǒng)課程設(shè)計報告_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計報告</b></p><p>  課程設(shè)計題目:工資管理系統(tǒng)</p><p><b>  工資管理系統(tǒng)</b></p><p><b>  一、實驗題目:</b></p><p>  員工基本信息的管理功能。</p><

2、p>  單位員工變動、獎懲情況的管理功能。</p><p>  工資的計算、修改功能。</p><p><b>  查詢統(tǒng)計功能。</b></p><p><b>  報表打印功能。</b></p><p>  具有數(shù)據(jù)備份和數(shù)據(jù)恢復功能。</p><p><b&

3、gt;  設(shè)計要求:</b></p><p>  在提供員工詳細的工資資料的同時,盡量使系統(tǒng)能具一定的安全性和通用性。 </p><p><b>  編程</b></p><p><b>  1、主窗口的設(shè)計</b></p><p>  MDIForm1.Hide</p&

4、gt;<p>  Form9.Show</p><p><b>  End Sub</b></p><p>  Private Sub MDIForm_Load()</p><p><b>  End Sub</b></p><p>  Private Sub ss_Click()&l

5、t;/p><p>  MDIForm1.Hide</p><p>  Form4.Show</p><p><b>  End Sub</b></p><p>  Private Sub SSS_Click()</p><p>  MDIForm1.Hide</p><p> 

6、 Form2.Show</p><p><b>  End Sub</b></p><p>  Private Sub aa_Click()</p><p>  MDIForm1.Hide</p><p>  Form3.Show</p><p><b>  End Sub</b&

7、gt;</p><p>  Private Sub SSSS_Click()</p><p>  MDIForm1.Hide</p><p>  Form5.Show</p><p><b>  End Sub</b></p><p>  Private Sub SSSSS_Click()<

8、/p><p>  MDIForm1.Hide</p><p>  Form6.Show</p><p><b>  End Sub</b></p><p>  Private Sub SSSSSS_Click()</p><p>  MDIForm1.Hide</p><p>

9、  Form7.Show</p><p><b>  End Sub</b></p><p>  Private Sub SSSSSSS_Click()</p><p>  MDIForm1.Hide</p><p>  Form8.Show</p><p><b>  End Sub&

10、lt;/b></p><p><b>  2、登入窗口設(shè)計</b></p><p>  Option Explicit</p><p>  Private Function Selectsql(SQL As String) As ADODB.Recordset '返回ADODB.Recordset對象</p><

11、;p>  Dim ConnStr As String</p><p>  Dim Conn As ADODB.Connection</p><p>  Dim rs As ADODB.Recordset</p><p>  Set rs = New ADODB.Recordset</p><p>  Set Conn = New ADO

12、DB.Connection</p><p>  'On Error GoTo MyErr:</p><p>  ConnStr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=teacher;Data Source=LENOVO-PC&q

13、uot; '這是連接SQL數(shù)據(jù)庫的語句</p><p>  Conn.Open ConnStr</p><p>  rs.CursorLocation = adUseClient</p><p>  rs.Open Trim$(SQL), Conn, adOpenDynamic, adLockOptimistic</p><p&

14、gt;  Set Selectsql = rs</p><p>  'Exit Function</p><p><b>  'MyErr:</b></p><p>  'Set rs = Nothing</p><p>  'Set Conn = Nothing '釋放相關(guān)的系統(tǒng)

15、資源</p><p>  'MsgBox Err.Description, vbInformation, "系統(tǒng)提示" '顯示出錯信息</p><p>  End Function</p><p>  Private Sub Command1_Click()</p><p>  Dim SQL As Str

16、ing</p><p>  Dim rs As ADODB.Recordset</p><p>  If Text1.Text = "" Then</p><p>  MsgBox "請輸入口令!", 16</p><p>  Text1.SetFocus</p><p><

17、;b>  Exit Sub</b></p><p><b>  End If</b></p><p>  SQL = "SELECT * FROM 系統(tǒng)用戶表結(jié)構(gòu) WHERE 用戶名 ='" & Text1.Text & "' AND 口令 ='" & Text2

18、.Text & "' and 身份='" & Combo1.Text & "'" ' objcn, adOpenStatic, adLockOptimistic</p><p>  Set rs = Selectsql(SQL)</p><p>  If rs.RecordCount >

19、0 Then</p><p>  MDIForm1.Show '想要打開的主窗體</p><p>  MsgBox "登錄成功!", 64, "提示"</p><p><b>  Unload Me</b></p><p><b>  Else</b

20、></p><p>  MsgBox "口令不對,請重新輸入!", 16, "提示"</p><p>  Text1.SetFocus</p><p><b>  End If</b></p><p><b>  End Sub</b></p>

21、;<p>  Private Sub Form_Load()</p><p>  Form1.Left = (Screen.Width - Form1.Width) / 2</p><p>  Form1.Top = (Screen.Height - Form1.Height) / 2</p><p>  3、員工基本信息管理設(shè)計</p>

22、<p>  Private Sub Command7_Click()</p><p>  'Text1.Text = ""</p><p>  'Text2.Text = ""</p><p>  'Text3.Text = ""</p><p>

23、  'Text4.Text = ""</p><p>  'Text5.Text = ""</p><p>  'Combo1.ListIndex = 4</p><p>  'Combo2.ListIndex = 4</p><p>  Command5.Enabled

24、 = True</p><p>  Command6.Enabled = True '在保存新記錄之前禁用下述控件</p><p>  Command1.Enabled = True</p><p>  Command2.Enabled = True</p>&l

25、t;p>  Command3.Enabled = True</p><p>  Command4.Enabled = True</p><p><b>  End Sub</b></p><p>  'Private Sub Command8_Click()</p><p>  'Dim mno A

26、s String</p><p>  ' mno = InputBox("請輸入員工編號", "查找窗")</p><p>  ' Adodc1.Recordset.Find "員工編號=" & mno & "", , , 1</p><p>  '

27、; If Adodc1.Recordset.EOF Then MsgBox "無此員工編號", , "提示"</p><p><b>  '</b></p><p><b>  'End Sub</b></p><p>  Private Sub Command5_C

28、lick()</p><p>  Command1.Enabled = False</p><p>  Command2.Enabled = False</p><p>  Command3.Enabled = False</p><p>  Command4.Enabled = False</p><p>  Ado

29、dc1.Recordset.AddNew</p><p><b>  End Sub</b></p><p>  Private Sub Command8_Click()</p><p>  Form2.Hide</p><p>  MDIForm1.Show</p><p><b> 

30、 End Sub</b></p><p>  Private Sub Command9_Click()</p><p>  Command1.Enabled = False</p><p>  Command2.Enabled = False</p><p>  Command3.Enabled = False</p>

31、<p>  Command4.Enabled = False</p><p>  Adodc1.Recordset("姓名") = Text1.Text</p><p>  Adodc1.Recordset("編號") = Text2.Text</p><p>  Adodc1.Recordset("部

32、門") = Text3.Text</p><p>  Adodc1.Recordset("有住房") = Text4.Text</p><p>  Adodc1.Recordset("專家") = Text5.Text</p><p>  Adodc1.Recordset("生日") = Text

33、6.Text</p><p>  Adodc1.Recordset("工作時間") = Text7.Text</p><p>  Adodc1.Recordset("職稱") = Combo1.Text</p><p>  Adodc1.Recordset("職務(wù)") = Combo2.Text</p

34、><p>  Adodc1.Recordset.Update</p><p>  MsgBox ("修改成功")</p><p><b>  End Sub</b></p><p>  Private Sub Command6_Click()</p><p>  Command1.

35、Enabled = False</p><p>  Command2.Enabled = False</p><p>  Command3.Enabled = False</p><p>  Command4.Enabled = False</p><p>  If MsgBox("確定刪除當前記錄?", vbQuesti

36、on + vbYesNo, "刪除?") = vbYes Then</p><p>  Adodc1.Recordset.Delete</p><p>  Adodc1.Recordset.MoveNext</p><p>  If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast</p

37、><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command10_Click()</p><p>  Command1.Enabled = False</p><p>  Command

38、2.Enabled = False</p><p>  Command3.Enabled = False</p><p>  Command4.Enabled = False</p><p>  Dim strb() As Byte</p><p>  CommonDialog1.ShowOpen</p><p>  

39、Open CommonDialog1.FileName For Binary As #1</p><p>  'f1 = LOF(1)</p><p>  'ReDim strb(f1)</p><p>  Get #1, , strb</p><p>  Adodc1.Recordset.Fields("照片&qu

40、ot;).AppendChunk strb</p><p><b>  Close #1</b></p><p>  Image1.Picture = LoadPicture(CommonDialog1.FileName)</p><p><b>  End Sub</b></p><p>  Pr

41、ivate Sub Command1_Click()</p><p>  Adodc1.Recordset.MoveFirst</p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click()</p><p>  Adodc1.Recordset.MoveP

42、revious</p><p><b>  End Sub</b></p><p>  Private Sub Command3_Click()</p><p>  Adodc1.Recordset.MoveNext</p><p><b>  End Sub</b></p><

43、p>  Private Sub Command4_Click()</p><p>  Adodc1.Recordset.MoveLast</p><p><b>  End Sub</b></p><p>  4、用戶信息管理設(shè)計</p><p>  Private Sub Command1_Click()<

44、/p><p>  Command5.Enabled = False</p><p>  Command6.Enabled = False</p><p>  Command7.Enabled = False</p><p>  Command8.Enabled = False</p><p>  Adodc1.Record

45、set("用戶名") = Text1.Text</p><p>  Adodc1.Recordset("口令") = Text2.Text</p><p>  Adodc1.Recordset("身份") = Text3.Text</p><p>  Adodc1.Recordset.Update</

46、p><p>  MsgBox ("修改成功")</p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click()</p><p>  Command5.Enabled = False</p><p>  Command

47、6.Enabled = False</p><p>  Command7.Enabled = False</p><p>  Command8.Enabled = False</p><p>  Adodc1.Recordset.AddNew</p><p><b>  End Sub</b></p>&l

48、t;p>  Private Sub Command3_Click()</p><p>  Command5.Enabled = False</p><p>  Command6.Enabled = False</p><p>  Command7.Enabled = False</p><p>  Command8.Enabled =

49、False</p><p>  If MsgBox("確定刪除當前記錄?", vbQuestion + vbYesNo, "刪除?") = vbYes Then</p><p>  Adodc1.Recordset.Delete</p><p>  Adodc1.Recordset.MoveNext</p>&l

50、t;p>  If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command4_Click()</p>

51、;<p>  Form4.Hide</p><p>  MDIForm1.Show</p><p><b>  End Sub</b></p><p>  Private Sub Command5_Click()</p><p>  Adodc1.Recordset.MoveFirst</p>

52、<p><b>  End Sub</b></p><p>  Private Sub Command6_Click()</p><p>  Adodc1.Recordset.MovePrevious</p><p><b>  End Sub</b></p><p>  Private

53、 Sub Command7_Click()</p><p>  Adodc1.Recordset.MoveNext</p><p><b>  End Sub</b></p><p>  Private Sub Command8_Click()</p><p>  Adodc1.Recordset.MoveLast<

54、;/p><p><b>  End Sub</b></p><p>  Private Sub Command9_Click()</p><p>  Command5.Enabled = True</p><p>  Command6.Enabled = True</p><p>  Command7

55、.Enabled = True</p><p>  Command8.Enabled = True</p><p><b>  End Sub</b></p><p><b>  5、工資合算表設(shè)計</b></p><p>  Form3.Hide</p><p>  MDI

56、Form1.Show</p><p><b>  End Sub </b></p><p>  Private Sub Command1_Click()</p><p>  Dim mno As String</p><p>  mno = InputBox("請輸入員工編號", "查找窗&

57、quot;)</p><p>  Adodc1.Recordset.Find "編號='" & mno & "'", , , 1</p><p>  Text1 = Text21.Text</p><p>  Text3 = Text22.Text</p><p>  I

58、f Adodc1.Recordset.EOF Then MsgBox "無此員工編號", , "提示"</p><p>  Adodc4.Recordset.Find "編號='" & mno & "'", , , 1</p><p>  If Adodc4.Recordset.

59、EOF Then MsgBox "無此員工編號", , "提示"</p><p>  Dim M As String</p><p><b>  M = Text1</b></p><p>  Text2.DataField = M</p><p>  Adodc3.Records

60、et(M) = Text2.Text</p><p>  Dim p As String</p><p><b>  p = Text3</b></p><p>  Text4.DataField = p</p><p>  Adodc2.Recordset(p) = Text2.Text</p><

61、p>  Text15.Text = Val(Text9) + Val(Text10) + Val(Text11) + Val(Text12) + Val(Text13) + Val(Text14)</p><p>  Text16.Text = Val(Text2) + Val(Text4) + Val(Text5) + Val(Text6) + Val(Text7) + Val(Text8)</p&

62、gt;<p>  Text25.Text = Val(Text16) - Val(Text15)</p><p><b>  End Sub</b></p><p><b>  6、恢復與備份設(shè)計</b></p><p>  Public Function fBackupDatabase_a(ByVal sB

63、ackUpfileName$ _</p><p>  , ByVal sDataBaseName$ _</p><p>  , Optional ByVal sIsAddBackup As Boolean = False _</p><p>  ) As String</p><p>  Private Sub Command1_Click(

64、)</p><p>  Dim iDb As ADODB.Connection</p><p>  Dim iConcStr$, iSql$, iReturn$</p><p>  On Error GoTo lbErr</p><p><b>  '創(chuàng)建對象</b></p><p>  

65、Set iDb = New ADODB.Connection</p><p><b>  '連接數(shù)據(jù)庫服務(wù)器</b></p><p>  iConcStr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=teache

66、r;Data Source=LENOVO-PC"</p><p>  iDb.Open iConcStr</p><p>  '生成數(shù)據(jù)庫備份語句</p><p>  iSql = "backup database [" & sDataBaseName & "]" & vbCrLf &

67、amp; _</p><p>  "to disk='" & sBackUpfileName & "'" & vbCrLf & _</p><p>  "with description='" & "zj-backup at:" & Dat

68、e & "(" & Time & ")'" & vbCrLf & _</p><p>  IIf(sIsAddBackup, "", ",init")</p><p>  iDb.Execute iSql</p><p>  GoTo lb

69、Exit</p><p><b>  lbErr:</b></p><p>  iReturn = Error</p><p><b>  lbExit:</b></p><p>  fBackupDatabase_a = iReturn</p><p><b> 

70、 End Sub</b></p><p>  Public Function fRestoreDatabase_a(ByVal sBackUpfileName$ _</p><p>  , ByVal sDataBaseName$ _</p><p>  , Optional ByVal sDataBasePath$ = "" _&l

71、t;/p><p>  , Optional ByVal sBackupNumber& = 1 _</p><p>  , Optional ByVal sReplaceExist As Boolean = False _</p><p>  ) As String</p><p>  Private Sub Command2_Click(

72、)</p><p>  Dim iDb As ADODB.Connection, iRe As ADODB.Recordset</p><p>  Dim iConcStr$, iSql$, iReturn$, iI&</p><p>  On Error GoTo lbErr</p><p><b>  '連接數(shù)據(jù)

73、庫服務(wù)器</b></p><p>  iConcStr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=teacher;Data Source=LENOVO-PC"</p><p>  iDb.Open iConcStr&l

74、t;/p><p><b>  '創(chuàng)建對象</b></p><p>  Set iDb = New ADODB.Connection</p><p>  Set iRe = New ADODB.Recordset</p><p>  '得到還原后的數(shù)據(jù)庫存放目錄,如果沒有指定,存放到SQL SERVER的DAT

75、A目錄</p><p>  If sDataBasePath = "" Then</p><p>  iSql = "select filename from master..sysfiles"</p><p>  iRe.Open iSql, iDb, adOpenKeyset, adLockReadOnly</p&g

76、t;<p>  iSql = iRe(0)</p><p><b>  iRe.Close</b></p><p>  sDataBasePath = Left(iSql, InStrRev(iSql, "\"))</p><p><b>  End If</b></p>&

77、lt;p>  '檢查數(shù)據(jù)庫是否存在</p><p>  If sReplaceExist = False Then</p><p>  iSql = "select 1 from master..sysdatabases where name='" & sDataBaseName & "'"</p

78、><p>  iRe.Open iSql, iDb, adOpenKeyset, adLockReadOnly</p><p>  If iRe.EOF = False Then</p><p>  iReturn = "數(shù)據(jù)庫已經(jīng)存在!"</p><p><b>  iRe.Close</b></

79、p><p>  GoTo lbExit</p><p><b>  End If</b></p><p><b>  iRe.Close</b></p><p><b>  End If</b></p><p>  '關(guān)閉用戶進程 , 防止其它用戶正

80、在使用數(shù)據(jù)庫, 導致數(shù)據(jù)恢復失敗</p><p>  iSql = "select spid from master..sysprocesses where dbid=db_id('" & sDataBaseName & "')"</p><p>  iRe.Open iSql, iDb, adOpenKeyset,

81、adLockReadOnly</p><p>  While iRe.EOF = False</p><p>  iSql = "kill " & iRe(0)</p><p>  iDb.Execute iSql</p><p>  iRe.MoveNext</p><p><b&g

82、t;  Wend</b></p><p><b>  iRe.Close</b></p><p>  '獲取數(shù)據(jù)庫恢復信息</p><p>  iSql = "restore filelistonly from disk='" & sBackUpfileName & "&

83、#39;" & vbCrLf & _</p><p>  "with file=" & sBackupNumber</p><p>  iRe.Open iSql, iDb, adOpenKeyset, adLockReadOnly</p><p>  '生成數(shù)據(jù)庫恢復語句</p><

84、p>  iSql = "restore database [" & sDataBaseName & "]" & vbCrLf & _</p><p>  "from disk='" & sBackUpfileName & "'" & vbCrLf &

85、 _</p><p>  "with file=" & sBackupNumber & vbCrLf</p><p><b>  With iRe</b></p><p>  While Not .EOF</p><p>  iReturn = iRe("PhysicalNa

86、me")</p><p>  iI = InStrRev(iReturn, ".")</p><p>  iReturn = IIf(iI = 0, "", Mid(iReturn, iI)) & "'"</p><p>  iSql = iSql & ",mov

87、e '" & iRe("LogicalName") & _</p><p>  "' to '" & sDataBasePath & sDataBaseName & iReturn & vbCrLf</p><p><b>  .MoveNext</b&

88、gt;</p><p><b>  Wend</b></p><p><b>  .Close</b></p><p><b>  End With</b></p><p>  iSql = iSql & IIf(sReplaceExist, ",replac

89、e", "")</p><p>  iDb.Execute iSql</p><p>  iReturn = ""</p><p>  GoTo lbExit</p><p><b>  lbErr:</b></p><p>  iReturn =

90、 Error</p><p><b>  lbExit:</b></p><p>  fRestoreDatabase_a = iReturn</p><p><b>  End Sub</b></p><p><b>  實驗心得</b></p><p&g

91、t;  通過本次實驗我學會了知識是學不會的,只有在實踐中才能體現(xiàn)它的作用。當然,我說這樣的話不是絕對的否認。只是說,實踐與理論結(jié)合才夠完美。因為在此次課程設(shè)計當中,我不僅學會了用VB與數(shù)據(jù)庫結(jié)合,還學會了怎么樣用VB去調(diào)用數(shù)據(jù)庫。雖然是這樣,但還是不夠完美,或許是因為學到的知識尚淺,對數(shù)據(jù)庫的一些強大的功能還掌握的不夠到位。但我會努力,在今后的道路中,我會不斷摸索,不斷前進,不斷學習。致使理論與實踐結(jié)合。</p><

溫馨提示

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

最新文檔

評論

0/150

提交評論