1、课程设计报告课程设计题目: 工资管理系统 学生姓名 :专 业 :班 级 :指导教师 :2011 年 12 月 17 日姓名: 学号: 实验时间:12 月 14 日 实验地点:一、 课程设计题目:工资管理系统二、 课程设计目的:本次课程设计的主要目的是综合运用所学的数据库与 VB 知识解决一个比较实际的简单问题,侧重对数据库连接、查询等相关内容的综合应用,使同学们能进一步熟悉掌握数据库的基本使用方法,进一步提升自己的编程能力并逐步培养编程思维,进而不断提高同学们解决问题的能力,并为以后的语言学习打下良好的基础。三、 课程设计要求:1. 独立完成;2. 此次课程设计在规定的时间必须在实验室完成,不
2、得以任何理由在其他地点进行;3每个人需按照选题规则确定好自己的题目(注意不是多人完成一题,每人独立完成一题) ,不得以任何理由选择其他的题目,当然在完成自己的题目之后根据个人兴趣可以继续选做其他的题目;4课程设计完成后严格按照报告格式撰写课程设计报告,并于结束后的第三天上交到学习委员统一交给老师;5课程设计的成绩由两部分组成:程序检查成绩(40,每个功能占程序分的 20%)报告检查成绩(40)平时考核(20% )四、 试验要求1) 员工基本信息的管理功能。2) 单位员工变动、奖惩情况的管理功能。3) 工资的计算、修改功能。4) 查询统计功能。5) 报表打印功能。6) 具有数据备份和数据恢复功能
3、。五、 试验过程1.数据库的设计本系统的数据库是 SQL 数据库,在 SQL 环境下创建数据库工资.mdb 文件。该数据库包括员工信息表、工资标准表、其他工资标准表、用户表用于纪录员工的基本信息数据库表结构如下所示:字段名 类型 大小 允许空员工编号 varchar 8 Not null姓名 varchar 10 Not null性别 varchar 2 Not null职务 Varchar 8 Not null出生年月 datetime Not null员工头像 image员工信息表字段名 类型 大小 允许空员工编号 varchar 8月份 int 4津贴 money 8 NULL奖金 Mo
4、ney 8 NULL扣保险 Money 8 NULL扣考勤 Money 8 NULL扣其他 Money 8 NULL其他工资标准表字段名 类型 大小 允许空职务 varchar 8 Not null基本工资 money 8 Not null工资标准表字段名 类型 大小 允许空用户名 char 10 Not null口令 char 10 Not null用户表2主要内容登录窗体登录窗体设计代码:Option ExplicitPrivate Function Selectsql(SQL As String) As ADODB.Recordset 返回ADODB.Recordset 对象Dim Co
5、nnStr As StringDim Conn As ADODB.ConnectionDim rs As ADODB.RecordsetSet rs = New ADODB.RecordsetSet Conn = New ADODB.ConnectionOn Error GoTo MyErr:ConnStr = “Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=true;Initial Catalog=工资;Data Source=(local)“ 这是连接 SQL 数据库的语句Conn.Open ConnS
6、trrs.CursorLocation = adUseClientrs.Open Trim$(SQL), Conn, adOpenDynamic, adLockOptimisticSet Selectsql = rsExit FunctionMyErr:Set rs = NothingSet Conn = Nothing 释放相关的系统资源MsgBox Err.Description, vbInformation, “系统提示“ 显示出错信息End FunctionPrivate Sub Command3_Click()Unload MeEnd SubPrivate Sub Form_Load
7、()Dim SQL As StringDim rs As ADODB.RecordsetDim X As LongOn Error GoTo Err_boxSQL = “ select * from 用户表“Set rs = Selectsql(SQL)If rs.RecordCount 0 Thenrs.MoveFirstFor X = 1 To rs.RecordCountCombo1.AddItem rs.Fields(“用户名“).Valuers.MoveNextNext XCombo1.ListIndex = 0End Ifrs.CloseExit SubErr_box:End Su
8、bPrivate Sub Command1_Click()Dim SQL As StringDim rs As ADODB.RecordsetIf Text1.Text = “ ThenMsgBox “请输入口令!“, 16Text1.SetFocusExit SubEnd IfIf Combo1.Text = “ ThenMsgBox “请选择登录用户!“, 16Combo1.SetFocusExit SubEnd IfSQL = “SELECT * FROM 用户表 WHERE 用户名=“ Integrated Security=SSPI;Persist Security Info=tru
9、e;Initial Catalog=工资;Data Source=(local);“ + _“use procedure for prepare=1;auto translate=true;“ + _“use encryption for data=false;tag with column collation when possible=false“Cn.ConnectionString = strconOn Error Resume NextCn.OpenIf Cn.Errors.Count 0 ThenFor i = 0 To Cn.Errors.Count - 1If Cn.Error
10、s(i).Number = -2147467259 ThenMsgBox “网络不通或服务器未开,请确认后再试“, vbOKOnly + vbInformation, “ 提醒“Unload MeExit SubExit ForEnd IfNext iEnd IfEnd Sub3、 设计体会在数据库课程开课之前我就下决心要学好这一门课,因为这是我的专业课,我一开始就谨慎小心,争取每一个细节都做得很好。现在终于是完成了,我的设计体会如下:小心谨慎是关键,因为做程序关键就是写代码,每一个字母都要很小心输入,若是不小心错了一个,就会带来庞大的“查错工程” ,不过从我检查错误当中也学会了一些检查的方法
11、,比如设置中断点,可以观查每一个变量的当前值,很有效的。小心是一个方面,另一个是怎么样让程序最人性化,并且保持较简洁的程序代码,通俗说就是事半功倍。有很多时间我是花在了调试程序方面,一部分是在找错误,还有就是怎么用最简练的代码实现当前的作用。其中绝大多数都是自己写的代码,只有在自己不会的时候才借鉴了指导老师发下来的那个示例作品的代码。我的程序大多数是我自己写的,但是自己的知识和水平都十分有限,所以会经常去查看书或者在网上寻找资料,通过看书、看资料,我改进了自己的不足,也学会的很多新的作程序方法,都是十分有用的。在一个体会就是做程序要有对全局和面的分析能力,老师告诉我好多设计中不曾想到的东西,比如数据表建立的不完美,用户权限应该分开等。做什么事都是一样的,具体体现在了这次的数据库课程设计上来,让我学到了很多东西。就像要完成一个很大的工作,要先从小的部分做起,不能急于求成,细心谨慎才是关键,坚持不懈,最后再把这些小的窗体在连接起来,就构成了一个整体。只有实践真正动手做了才会真正了解,在不断的学习和实践中体会到更多的经验。