数据库工资管理系统课程设计报告.docx
- 文档编号:28051322
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:19
- 大小:1.04MB
数据库工资管理系统课程设计报告.docx
《数据库工资管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据库工资管理系统课程设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
数据库工资管理系统课程设计报告
课程设计报告
课程设计题目:
工资管理系统
学生姓名:
夏雯琦、周家领
专业:
计算机科学与技术
班级:
10304102
指导教师:
王蕾
2011年12月20日
工资管理系统
一、实验题目:
1)员工基本信息的管理功能。
2)单位员工变动、奖惩情况的管理功能。
3)工资的计算、修改功能。
4)查询统计功能。
5)报表打印功能。
6)具有数据备份和数据恢复功能。
设计要求:
在提供员工详细的工资资料的同时,尽量使系统能具一定的安全性和通用性。
2、编程
1、主窗口的设计
MDIForm1.Hide
Form9.Show
EndSub
PrivateSubMDIForm_Load()
EndSub
PrivateSubss_Click()
MDIForm1.Hide
Form4.Show
EndSub
PrivateSubSSS_Click()
MDIForm1.Hide
Form2.Show
EndSub
PrivateSubaa_Click()
MDIForm1.Hide
Form3.Show
EndSub
PrivateSubSSSS_Click()
MDIForm1.Hide
Form5.Show
EndSub
PrivateSubSSSSS_Click()
MDIForm1.Hide
Form6.Show
EndSub
PrivateSubSSSSSS_Click()
MDIForm1.Hide
Form7.Show
EndSub
PrivateSubSSSSSSS_Click()
MDIForm1.Hide
Form8.Show
EndSub
2、登入窗口设计
OptionExplicit
PrivateFunctionSelectsql(SQLAsString)AsADODB.Recordset'返回ADODB.Recordset对象
DimConnStrAsString
DimConnAsADODB.Connection
DimrsAsADODB.Recordset
Setrs=NewADODB.Recordset
SetConn=NewADODB.Connection
'OnErrorGoToMyErr:
ConnStr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=teacher;DataSource=LENOVO-PC"'这是连接SQL数据库的语句
Conn.OpenConnStr
rs.CursorLocation=adUseClient
rs.OpenTrim$(SQL),Conn,adOpenDynamic,adLockOptimistic
SetSelectsql=rs
'ExitFunction
'MyErr:
'Setrs=Nothing
'SetConn=Nothing'释放相关的系统资源
'MsgBoxErr.Description,vbInformation,"系统提示"'显示出错信息
EndFunction
PrivateSubCommand1_Click()
DimSQLAsString
DimrsAsADODB.Recordset
IfText1.Text=""Then
MsgBox"请输入口令!
",16
Text1.SetFocus
ExitSub
EndIf
SQL="SELECT*FROM系统用户表结构WHERE用户名='"&Text1.Text&"'AND口令='"&Text2.Text&"'and身份='"&Combo1.Text&"'"'objcn,adOpenStatic,adLockOptimistic
Setrs=Selectsql(SQL)
Ifrs.RecordCount>0Then
MDIForm1.Show'想要打开的主窗体
MsgBox"登录成功!
",64,"提示"
UnloadMe
Else
MsgBox"口令不对,请重新输入!
",16,"提示"
Text1.SetFocus
EndIf
EndSub
PrivateSubForm_Load()
Form1.Left=(Screen.Width-Form1.Width)/2
Form1.Top=(Screen.Height-Form1.Height)/2
3、员工基本信息管理设计
PrivateSubCommand7_Click()
'Text1.Text=""
'Text2.Text=""
'Text3.Text=""
'Text4.Text=""
'Text5.Text=""
'Combo1.ListIndex=4
'Combo2.ListIndex=4
Command5.Enabled=True
Command6.Enabled=True'在保存新记录之前禁用下述控件
Command1.Enabled=True
Command2.Enabled=True
Command3.Enabled=True
Command4.Enabled=True
EndSub
'PrivateSubCommand8_Click()
'DimmnoAsString
'mno=InputBox("请输入员工编号","查找窗")
'Adodc1.Recordset.Find"员工编号="&mno&"",,,1
'IfAdodc1.Recordset.EOFThenMsgBox"无此员工编号",,"提示"
'
'EndSub
PrivateSubCommand5_Click()
Command1.Enabled=False
Command2.Enabled=False
Command3.Enabled=False
Command4.Enabled=False
Adodc1.Recordset.AddNew
EndSub
PrivateSubCommand8_Click()
Form2.Hide
MDIForm1.Show
EndSub
PrivateSubCommand9_Click()
Command1.Enabled=False
Command2.Enabled=False
Command3.Enabled=False
Command4.Enabled=False
Adodc1.Recordset("姓名")=Text1.Text
Adodc1.Recordset("编号")=Text2.Text
Adodc1.Recordset("部门")=Text3.Text
Adodc1.Recordset("有住房")=Text4.Text
Adodc1.Recordset("专家")=Text5.Text
Adodc1.Recordset("生日")=Text6.Text
Adodc1.Recordset("工作时间")=Text7.Text
Adodc1.Recordset("职称")=Combo1.Text
Adodc1.Recordset("职务")=Combo2.Text
Adodc1.Recordset.Update
MsgBox("修改成功")
EndSub
PrivateSubCommand6_Click()
Command1.Enabled=False
Command2.Enabled=False
Command3.Enabled=False
Command4.Enabled=False
IfMsgBox("确定删除当前记录?
",vbQuestion+vbYesNo,"删除?
")=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndIf
EndSub
PrivateSubCommand10_Click()
Command1.Enabled=False
Command2.Enabled=False
Command3.Enabled=False
Command4.Enabled=False
Dimstrb()AsByte
CommonDialog1.ShowOpen
OpenCommonDialog1.FileNameForBinaryAs#1
'f1=LOF
(1)
'ReDimstrb(f1)
Get#1,,strb
Adodc1.Recordset.Fields("照片").AppendChunkstrb
Close#1
Image1.Picture=LoadPicture(CommonDialog1.FileName)
EndSub
PrivateSubCommand1_Click()
Adodc1.Recordset.MoveFirst
EndSub
PrivateSubCommand2_Click()
Adodc1.Recordset.MovePrevious
EndSub
PrivateSubCommand3_Click()
Adodc1.Recordset.MoveNext
EndSub
PrivateSubCommand4_Click()
Adodc1.Recordset.MoveLast
EndSub
4、用户信息管理设计
PrivateSubCommand1_Click()
Command5.Enabled=False
Command6.Enabled=False
Command7.Enabled=False
Command8.Enabled=False
Adodc1.Recordset("用户名")=Text1.Text
Adodc1.Recordset("口令")=Text2.Text
Adodc1.Recordset("身份")=Text3.Text
Adodc1.Recordset.Update
MsgBox("修改成功")
EndSub
PrivateSubCommand2_Click()
Command5.Enabled=False
Command6.Enabled=False
Command7.Enabled=False
Command8.Enabled=False
Adodc1.Recordset.AddNew
EndSub
PrivateSubCommand3_Click()
Command5.Enabled=False
Command6.Enabled=False
Command7.Enabled=False
Command8.Enabled=False
IfMsgBox("确定删除当前记录?
",vbQuestion+vbYesNo,"删除?
")=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndIf
EndSub
PrivateSubCommand4_Click()
Form4.Hide
MDIForm1.Show
EndSub
PrivateSubCommand5_Click()
Adodc1.Recordset.MoveFirst
EndSub
PrivateSubCommand6_Click()
Adodc1.Recordset.MovePrevious
EndSub
PrivateSubCommand7_Click()
Adodc1.Recordset.MoveNext
EndSub
PrivateSubCommand8_Click()
Adodc1.Recordset.MoveLast
EndSub
PrivateSubCommand9_Click()
Command5.Enabled=True
Command6.Enabled=True
Command7.Enabled=True
Command8.Enabled=True
EndSub
5、工资合算表设计
Form3.Hide
MDIForm1.Show
EndSub
PrivateSubCommand1_Click()
DimmnoAsString
mno=InputBox("请输入员工编号","查找窗")
Adodc1.Recordset.Find"编号='"&mno&"'",,,1
Text1=Text21.Text
Text3=Text22.Text
IfAdodc1.Recordset.EOFThenMsgBox"无此员工编号",,"提示"
Adodc4.Recordset.Find"编号='"&mno&"'",,,1
IfAdodc4.Recordset.EOFThenMsgBox"无此员工编号",,"提示"
DimMAsString
M=Text1
Text2.DataField=M
Adodc3.Recordset(M)=Text2.Text
DimpAsString
p=Text3
Text4.DataField=p
Adodc2.Recordset(p)=Text2.Text
Text15.Text=Val(Text9)+Val(Text10)+Val(Text11)+Val(Text12)+Val(Text13)+Val(Text14)
Text16.Text=Val(Text2)+Val(Text4)+Val(Text5)+Val(Text6)+Val(Text7)+Val(Text8)
Text25.Text=Val(Text16)-Val(Text15)
EndSub
6、恢复与备份设计
PublicFunctionfBackupDatabase_a(ByValsBackUpfileName$_
ByValsDataBaseName$_
OptionalByValsIsAddBackupAsBoolean=False_
)AsString
PrivateSubCommand1_Click()
DimiDbAsADODB.Connection
DimiConcStr$,iSql$,iReturn$
OnErrorGoTolbErr
'创建对象
SetiDb=NewADODB.Connection
'连接数据库服务器
iConcStr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=teacher;DataSource=LENOVO-PC"
iDb.OpeniConcStr
'生成数据库备份语句
iSql="backupdatabase["&sDataBaseName&"]"&vbCrLf&_
"todisk='"&sBackUpfileName&"'"&vbCrLf&_
"withdescription='"&"zj-backupat:
"&Date&"("&Time&")'"&vbCrLf&_
IIf(sIsAddBackup,"",",init")
iDb.ExecuteiSql
GoTolbExit
lbErr:
iReturn=Error
lbExit:
fBackupDatabase_a=iReturn
EndSub
PublicFunctionfRestoreDatabase_a(ByValsBackUpfileName$_
ByValsDataBaseName$_
OptionalByValsDataBasePath$=""_
OptionalByValsBackupNumber&=1_
OptionalByValsReplaceExistAsBoolean=False_
)AsString
PrivateSubCommand2_Click()
DimiDbAsADODB.Connection,iReAsADODB.Recordset
DimiConcStr$,iSql$,iReturn$,iI&
OnErrorGoTolbErr
'连接数据库服务器
iConcStr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=teacher;DataSource=LENOVO-PC"
iDb.OpeniConcStr
'创建对象
SetiDb=NewADODB.Connection
SetiRe=NewADODB.Recordset
'得到还原后的数据库存放目录,如果没有指定,存放到SQLSERVER的DATA目录
IfsDataBasePath=""Then
iSql="selectfilenamefrommaster..sysfiles"
iRe.OpeniSql,iDb,adOpenKeyset,adLockReadOnly
iSql=iRe(0)
iRe.Close
sDataBasePath=Left(iSql,InStrRev(iSql,"\"))
EndIf
'检查数据库是否存在
IfsReplaceExist=FalseThen
iSql="select1frommaster..sysdatabaseswherename='"&sDataBaseName&"'"
iRe.OpeniSql,iDb,adOpenKeyset,adLockReadOnly
IfiRe.EOF=FalseThen
iReturn="数据库已经存在!
"
iRe.Close
GoTolbExit
EndIf
iRe.Close
EndIf
'关闭用户进程,防止其它用户正在使用数据库,导致数据恢复失败
iSql="selectspidfrommaster..sysprocesseswheredbid=db_id('"&sDataBaseName&"')"
iRe.OpeniSql,iDb,adOpenKeyset,adLockReadOnly
WhileiRe.EOF=False
iSql="kill"&iRe(0)
iDb.ExecuteiSql
iRe.MoveNext
Wend
iRe.Close
'获取数据库恢复信息
iSql="restorefilelistonlyfromdisk='"&sBackUpfileName&"'"&vbCrLf&_
"withfile="&sBackupNumber
iRe.OpeniSql,iDb,adOpenKeyset,adLockReadOnly
'生成数据库恢复语句
iSql="restoredatabase["&sDataBaseName&"]"&vbCrLf&_
"fromdisk='"&sBackUpfileName&"'"&vbCrLf&_
"withfile="&sBackupNumber&vbCrLf
WithiRe
WhileNot.EOF
iReturn=iRe("PhysicalName")
iI=InStrRev(iReturn,".")
iReturn=IIf(iI=0,"",Mid(iReturn,iI))&"'"
iSql=iSql&",move'"&iRe("LogicalName")&_
"'to'"&sDataBasePath&sDataBaseName&iReturn&vbCrLf
.MoveNext
Wend
.Close
EndWith
iSql=iSql&IIf(sReplaceExist,",replace","")
iDb.ExecuteiSql
iReturn=""
GoTolbExit
lbErr:
iReturn=Error
lbExit:
fRestoreDatabase_a=iReturn
EndSub
3、实验心得
通过本次实验我学会了知识是学不会的,只有在实践中才能体现它的作用。
当然,我说这样的话不是绝对的否认。
只是说,实践与理论结合才够完美。
因为在此次课程设计当中,我不仅学会了用VB与数据库结合,还学会了怎么样用VB去调用数据库。
虽然是这样,但还是不够完美,或许是因为学到的知识尚浅,对数据库的一些强大的功能还掌握的不够到位。
但我会努力,在今后的道路中,我会不断摸索,不断前进,不断学习。
致使理论与实践结合。
在此,我深深的体会到了,只要自己动手去做,认认真真的。
不管什么难题,哪怕失败也是高心的。
因为我努力和付出过。
所以,这此的课程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 工资管理 系统 课程设计 报告