




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
辽 宁 工 业 大 学 可视化编程技术 课程设计(论文)题目: 职工工资管理系统 院(系): 专业班级: 学 号: 学生姓名: 指导教师: 教师职称: 助 教 起止时间:2008.12.15至2008.12.28课程设计(论文)任务及评语院(系):软件学院 教研室:软件教研窒学 号学生姓名课程设计(论文)题目职工工资管理系统课程设计(论文)任务课程设计任务及要求:1、掌握VB程序设计语言的基础知识。2、设计所选择的题目,对具体功能进行详细的分析,根据系统的要求在VB中设计窗体界面,使其合理化。3、了解VB与数据库的连接方法。4、编写代码,实现系统的功能。5、通过调试程序,加深对VB编程的基本技巧及方法的理解。课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计论文。指导教师评语及成绩成绩: 指导教师签字: 2008年 12 月 30 日辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)目 录第1章 课程设计目的与要求11.1 课程设计目的11.2 课程设计的实验环境11.3 课程设计的预备知识11.4 课程设计要求1第2章 课程设计内容22.1 系统功能设计22.2 系统详细设计32.3 系统运行与测试19第3章 课程设计总结20参考文献21课程设计目的与要求1.1 课程设计目的本课程的课程设计实际是学生学习完可视化编程技术课程后,进行的一次全面的综合训练,其目的在于加深对可视化编程技术基本知识的理解,掌握运用VB开发应用程序的基本方法及基本技巧。1.2 课程设计的实验环境硬件要求能运行Windows 9.X操作系统的微机系统。软件:Microsoft Visual Basic 6.0 Microsoft Access 20031.3 课程设计的预备知识熟悉Visual Basic 6.0程序设计的基本语法知识及常用技巧。1.4 课程设计要求按课程设计指导书提供的课题,每个小组设计一个完整的管理系统应用程序。要求根据规定设计系统的具体要求,按照应用程序的设计步骤和VB的基本知识应用程序的分析与实现。应根据基本学时分配合理安排设计时间,并独立完成各方面的设计。选择同一题目的同学,可以共同协作完成一个应用程序的开发任务。要求书写详细的设计说明书,对有复杂的代码段和程序段的部分,应画出程序流程图,写出全部的代码。在界面设计中,需画出每个窗体的布局,进行属性说明,杜绝雷同。课程设计内容2.1系统功能设计2.1.1 系统功能分析工资管理系统用计算机管理企事业单位员工工资发放的一种计算机应用技术的创新,在计算机还未普及之前企事业单位的员工工资发放都是由财务管理人员来承担操作的.现在一般的企业都采用了信息化管理的方式即采用计算机作为工具的电子信息化的员工工资计算发放进行更有效的财务管理。工资管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。2.1.2 系统功能模块设计职工工资管理系统统统添加记录修改记录查询记录导出记录增加用户帐户修改用户资料密码修改帐户管理系统管理信息管理图2.1职工工资管理系统模块图2.2系统详细设计2.2.1用户登陆模块设计1.界面设计图2.22.代码设计Private Sub guanlicmd_Click()If Trim(idTxt) = Then MsgBox 对不起,请输入用户名, vbInformation, App.Title idTxt.SetFocus Exit Sub End If Dim Login_rs As New ADODB.Recordset Login_rs.Open select id,userpaw from denglu where id= & _ Trim(idTxt.Text) & , CN, 1, 3 If Login_rs.EOF Then MsgBox 用户名不存在!, vbInformation, App.Title idTxt.Text = idTxt.SetFocus Exit Sub End If If LCase(pawTxt.Text) Login_rs(1) Then MsgBox 用户密码错误!, vbInformation, App.Title pawTxt.Text = pawTxt.SetFocus cnt = cnt + 1 If cnt = 3 Then MsgBox 密码输入错误超过3次!系统强制退出!, vbInformation, App.Title End End If Exit Sub End If Unload Me x_frmguanli.ShowEnd Sub2.2.2系统主界面模块设计1.界面设计图2.32.代码设计Private Sub aboutcmd_Click()x_frmabout.Showx_frmabout.ZOrder 0End SubPrivate Sub addcmd_Click()x_frmrenyuanadd.ShowEnd SubPrivate Sub chaxuncmd_Click()x_frmchaxun.ShowEnd SubPrivate Sub deletecmd_Click()x_frmrenyuandelete.ShowEnd SubPrivate Sub exitcmd_Click()EndEnd SubPrivate Sub MDIForm_Load()End SubPrivate Sub printcmd_Click()x_frmprint.ShowEnd SubPrivate Sub updatacmd_Click()x_frmrenyuanupdata.ShowEnd Sub2.2.3添加记录模块设计1.界面设计图2.42.代码设计Private Sub Command1_Click()Dim addjl As StringDim rsjl_add As New ADODB.Recordsetaddjl = select * from gongzibiao rsjl_add.Open addjl, CN, 1, 3 rsjl_add.AddNew rsjl_add.Fields(0) = Text1.Text rsjl_add.Fields(1) = Text2.Text rsjl_add.Fields(2) = Text3.Text rsjl_add.Fields(3) = Text4.Text rsjl_add.Fields(4) = Text5.Text rsjl_add.Fields(5) = Text6.Text rsjl_add.Fields(6) = Text7.Text rsjl_add.Fields(7) = Text8.Text rsjl_add.Fields(8) = Text9.Text rsjl_add.Update rsjl_add.Close MsgBox 添加记录成功, vbOKOnly + vbExclamation, Call datagrid Unload MeEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()End Sub2.2.4查询记录模块设计1.界面设计图2.52.代码设计Private Sub Command1_Click()Dim cha As StringDim rs_cha As New ADODB.Recordset cha = select * from gongzibiao rs_cha.Open cha, CN, 1, 3If Text1.Text Then While (rs_cha.EOF = False) If Trim(rs_cha.Fields(0) = Trim(Text1.Text) Then sql = SELECT * FROM gongzibiao where 职工编号= & Text1.Text & Adodc1.ConnectionString = driver=microsoft access driver (*.mdb);uid=;dbq= & App.Path & x_database.mdb Adodc1.RecordSource = sql Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Refresh Text1.Text = Text2.Text = Exit Sub Else rs_cha.MoveNext End IfWend MsgBox 无此编号, vbOKOnly + vbExclamation, Text1.Text = Text2.Text = Text1.SetFocusEnd IfIf Text2.Text Then While (rs_cha.EOF = False) If Trim(rs_cha.Fields(1) = Trim(Text2.Text) Then sql1 = SELECT * FROM gongzibiao where 姓名= & Text2.Text & Adodc1.ConnectionString = driver=microsoft access driver (*.mdb);uid=;dbq= & App.Path & x_database.mdb Adodc1.RecordSource = sql1 Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Refresh Text1.Text = Text2.Text = Exit Sub Else rs_cha.MoveNext End If WendMsgBox 无此姓名, vbOKOnly + vbExclamation, Text1.Text = Text2.Text = Text2.SetFocusEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub DataGrid1_Click()End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then Command1_ClickEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then Command1_ClickEnd Sub2.2.5修改记录模块设计1.界面设计图2.62.代码设计Private Sub Command1_Click()Dim updata As StringDim rs_updata As New ADODB.Recordsetsql = UPDATE gongzibiao SET 职工编号 = & Text1(0).Text & _ ,姓名 = & Text1(1).Text & _ ,性别 = & Text1(2).Text & _ ,职称 = & Text1(3).Text & _ ,基本工资 = & Text1(4).Text & _ ,奖金 = & Text1(5).Text & _ ,代扣款 = & Text1(6).Text & _ ,应发工资 = & Text1(7).Text & _ ,实发工资 = & Text1(8).Text & _ WHERE 职工编号 = & Text1(0).Text & 打开连接 updata = select * from gongzibiao rs_updata.Open updata, CN, 1, 3 执行SQL conn.Execute sql 关闭连接 rs_updata.Close x_frmrenyuanupdata.Adodc1.Refreshsql = UPDATE gongzibiao SET 职工编号 = & Text1(0).Text & _ ,姓名 = & Text1(1).Text & _ ,性别 = & Text1(2).Text & _ ,职称 = & Text1(3).Text & _ ,基本工资 = & Text1(4).Text & _ ,奖金 = & Text1(5).Text & _ ,代扣款 = & Text1(6).Text & _ ,应发工资 = & Text1(7).Text & _ ,实发工资 = & Text1(8).Text & _ WHERE 职工编号 = & Text1(0).Text & 打开连接 updata = select * from gongzibiao rs_updata.Open updata, CN, 1, 3 执行SQL conn.Execute sql 关闭连接 rs_updata.Close x_frmrenyuanupdata.Adodc1.Refresh MsgBox 修改成功, vbInformation + vbYesNo, App.Title Unload MeEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Activate()Dim i As IntegerFor i = 0 To 8 当前行 x_frmrenyuanupdata.DataGrid1.Row = x_frmrenyuanupdata.hanghao 对应列 x_frmrenyuanupdata.DataGrid1.Col = i Text1(i) = x_frmrenyuanupdata.DataGrid1.TextNext保证职工ID不会被改变Text1(0).Locked = TrueEnd Sub2.2.6信息导出模块设计1.界面设计图2.72.代码设计Private Sub Command1_Click()Dim i As Integer, r As Integer, c As Integer, str As StringDim newxls As Excel.ApplicationDim newbook As Excel.WorkbookDim newsheet As Excel.WorksheetSet newxls = CreateObject(excel.application)Set newbook = newxls.Workbooks.addSet newsheet = newbook.Worksheets(1)If Adodc1.Recordset.RecordCount 0 Then For i = 0 To DataGrid1.Columns.Count - 1 newsheet.Cells(1, i + 1) = DataGrid1.Columns(i).Caption Next iAdodc1.Recordset.MoveFirstDo Until Adodc1.Recordset.EOF r = Adodc1.Recordset.AbsolutePosition For c = 0 To DataGrid1.Columns.Count - 1 DataGrid1.Col = c newsheet.Cells(r + 1, c + 1) = DataGrid1.Columns(c)Next c Adodc1.Recordset.MoveNextLoopDim myval As LongDim mybiao As Stringmyval = MsgBox(是否保存该EXCEL表?, vbYesNo, 提示窗口) If myval = vbNo Then Exit Sub End Ifmybiao = InputBox(请输入文件名称, 输入窗口)If Len(mybiao) = 0 Then MsgBox 系统不允许文件名称不为空!, 提示窗口 Exit SubEnd If newsheet.SaveAs App.Path & excel文件 & mybiao & .xls str = MsgBox(excel 文件保存成功, & 位置: & App.Path & excel 文件 & mybiao & .xls, vbYesNo, 提示窗口) If str = vbNo Then Exit Sub End If newxls.QuitExit SubEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub DataGrid1_Click()End SubPrivate Sub Form_Load()sql = SELECT * FROM gongzibiao Adodc1.ConnectionString = driver=microsoft access driver (*.mdb);uid=;dbq= & App.Path & x_database.mdb Adodc1.RecordSource = sql Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.RefreshEnd Sub2.2.7帐户修改密码与增加帐户模块设计1.界面设计图2.82.代码设计Private Sub Command3_Click()If Trim(Text4.Text = ) Then MsgBox 旧密码不能为空,请重新输入!, vbOKOnly + vbExclamation, 警告 Text4.SetFocus Text4.Text = Exit Sub End If If Trim(Text5.Text = ) Then MsgBox 新密码不能为空,请重新输入!, vbOKOnly + vbExclamation, 警告 Text5.SetFocus Text5.Text = Exit Sub End If If Text5.Text Text6.Text Then MsgBox 两次输入的新密码不同,请重新输入!, vbOKOnly + vbExclamation, 警告 Text5.SetFocus Text5.Text = Text6.Text = Exit Sub End If Dim change As String Dim rs_change As New ADODB.Recordset change = Select * from denglu where Trim(id) = & Trim(userID) & rs_change.Open change, CN, 1, 3 If Trim(rs_change.Fields(userpaw) Trim(Text4.Text) Then MsgBox 旧密码不对,请重新输入!, vbOKOnly + vbExclamation, 警告 Text4.SetFocus Text4.Text = Else change = Update denglu set userpaw = & Text6.Text & where id = & userID & conn.Execute change MsgBox 密码修改成功!, vbOKOnly + vbInformation, 提示 Text4.Text = Text5.Text = Text6.Text = Unload Me End If rs_change.Close Set rs_change = NothingEnd SubPrivate Sub Command4_Click()Unload MeEnd SubPrivate Sub SSTab1_DblClick()End SubPrivate Sub Command1_Click()Dim add As StringDim rs_add As New ADODB.RecordsetIf Trim(Text1.Text) = Then MsgBox 用户名不能为空, vbOKOnly + vbExclamation, Exit Sub Text1.SetFocusElseIf Trim(Text2.Text) = Then MsgBox 密码不能为空, vbOKOnly + vbExclamation, Exit Sub Text2.SetFocusElse add = select * from denglu rs_add.Open add, CN, adOpenKeyset, adLockPessimistic While (rs_add.EOF = False) If Trim(rs_add.Fields(0) = Trim(Text1.Text) Then MsgBox 已有这个用户, vbOKOnly + vbExclamation, Text1.SetFocus Text1.Text = Text2.Text = Text3.Text = Exit Sub Else rs_add.MoveNext End If Wend If Trim(Text2.Text) Trim(Text3.Text) Then MsgBox 两次密码不一致, vbOKOnly + vbExclamation, Text2.SetFocus Text2.Text = Text3.Text = Exit Sub Else rs_add.AddNew rs_add.Fields(0) = Text1.Text rs_add.Fields(1) = Text2.Text rs_add.Update rs_add.Close MsgBox 添加用户成功, vbOKOnly + vbExclamation, Unload Me End IfEnd IfEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub2.2.8 数据库访问技术在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。DAO(数据访问对象)是一种应用程序编程接口(API),存在于微软的Visual Basic中,它允许程序员请求对微软的Access数据库的访问。DAO是微软的第一个面向对象的数据库接口。DAO对象封闭了Access的Jet函数。通过Jet函数,它还可以访问其他的结构化查询语言(SQL)数据库。除去Data Access Object的意思,在光盘刻录方面DAO对应于Disk At Once(一次写盘方式),在使用刻录机刻录镜像文件时可以选择这种方式。一次写盘是单次的写入方式,引导区、数据磁道以及导出区都是一次性写入,一次写完之后光盘就关闭,即便此次写入没有写满整个刻录盘,也无法再写入其它数据。当引导区写入到光盘上时,并没有在该引导区标示出下一个可用的地址,因此光盘就被视为关闭,再也无法写入更多的数据。这种写入模式主要用于光盘的复制,一次完成整张光盘的刻录。其特点是能使复制出来的光盘与源盘毫无二致。DAO写入方式可以轻松完成对于音乐 CD、混合或特殊类型CD-ROM等数据轨之间存在间隙的光盘的复制,且可以确保数据结构与间隙长度都完全相同。值得一提的是,由于DAO写入方式把整张光盘当作一个区段来处理,一些小的失误都有可能导致整张光盘彻底报废,所以它对数据传送的稳定性和驱动器的性能有较高的要求。数据访问对象是用来显露了Microsoft Jet数据库引擎(最早是给Microsoft Access 所使用,现在已经支持其它数据库),并允许开发者通过ODBC直接连接到其他数据库一样,直接连接到 Access 表。DAO 最适用于单系统应用程序或在小范围本地分布使用。其内部已经对Jet数据库的访问进行了加速优化,而且其使用起来也是很方便的。所以如果数据库是Access数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年海南省儋州市辅警招聘考试题库及答案
- 中国银行常州市新北区2025秋招笔试会计学专练及答案
- 中国银行天津市西青区2025秋招英文结构化面试题库含答案
- 邮储银行合肥市庐江县2025秋招笔试计算机基础专练及答案
- 中国银行成都市龙泉驿区2025秋招笔试英语阅读选词题专练30题及答案
- 中国银行忻州市河曲县2025秋招笔试法律专练及答案
- 邮储银行岳阳市云溪区2025秋招笔试英语选词填空题专练50题及答案
- 中国银行鸡西市鸡冠区2025秋招笔试银行特色知识专练及答案
- 工商银行赤峰市林西县2025秋招笔试英语完形填空题专练30题及答案
- 中国银行台州市玉环市2025秋招半英文面试题库及高分答案
- 2025年中国零售用显示屏行业市场全景分析及前景机遇研判报告
- 吉林省长春市2024-2025学年七年级上学期生物月考试题(含答案)
- 2025至2030中国视觉点胶机市场运行状况与未来发展走势预测报告
- 心源性休克病人的护理
- 种草莓劳动课件
- 如何落实责任制整体护理
- 雀巢牛奶购销合同范本
- 多模态交互体验评估-洞察及研究
- 100MW光伏发电场光伏电站建设与环境影响评估可行性研究报告
- 家政中介服务线上平台运营方案
- 2025-2026学年华中师大版(2024)小学体育与健康一年级(全一册)教学设计(附目录P123)
评论
0/150
提交评论