版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 学生基本信息管理系统的开发(C级)2.1项目概述2.1.1项目主要功能登陆是否合法不合法权限判断相应功能操作次数限制 项目主要功能包含:(1)学生信息管理模块:该模块具体功能是学生基本基本信息的添加、信息修改、删除和查询,排序统计;(2)权限管理模块:该模块主要负责管理用户的信息,区分不同级别的用户,可提高系统安全性;(3)统计及报表;(4)数据管理四个部分。其操作流程如下所示:2.1.2程序文件结构图2-1程序文件结构2.2全局变量和数据库设计2.2.1定义全局变量全局变量的定义:Public Flag As IntegerPublic username As String这两个变量
2、用来存放登陆用户名和相应等级,定义在标准模块Module1.BAS中。公有函数(可执行SQL语句,返回记录集)的定义:Public Function exesql(ByVal sql As String) As ADODB.Recordsetsql = Trim$(sql)Set conn = New ADODB.ConnectionSet rst = New ADODB.Recordsetconn.ConnectionString = dsn=studentODBC数据源名conn.OpenSet rst.ActiveConnection = connrst.LockType = adLoc
3、kOptimisticrst.CursorType = adOpenKeysetrst.Open sqlSet exesql = rstSet rst = NothingSet conn = NothingEnd Function公有函数亦定义在标准模块Module1.BAS中。2.2.2数据库的设计物理数据库名:studentODBC数据源名:student字段名主键数据类型长度必填默认值CHECK约束说明Snochar8学号Snamechar5姓名Ssexchar2性别Sbirthdaydatetime81/1/1949,1/1/2010出生日期Sdeptchar20信科系系科Sgrade
4、int41,4年级2.2.1S表(学生基本信息表)字段名主键数据类型长度必填默认值CHECK约束说明usernamechar8用户名passwordchar5密码jibieint21等级2.2.2yonghu表(学生基本信息表)2.3效果和关键实现2.3.1登陆模块 (窗体名:login)图2-2登陆界面(窗体名:login)关键技术:1、操作数据库的专用函数exesql也应添加到标准模块Module1.BAS中并在VB在VB工程-引用中添加Microsoft ActiveX Data Objects 2.5 Library。2、登陆错误次数限制3次不允许用户无止尽尝试密码,一旦错误超过三次程
5、序自动结束,在窗体通用部分首先定义窗体级变量TIM,,核心程序如下:验证操作员及密码 Dim sql As Stringsql = select * from yonghu where username= + Combo1.Text + and password= + Text2.Text + Set rs = exesql(sql) If rs.RecordCount 0 Then Load main main.Show username = Combo1 Unload Me ElseIf TIM = 3 Then 密码输错3次,退出系统 myval = MsgBox(密码输入错误,请向系统
6、管理员查询!, 0, ) If myval = vbOK Then End Else MsgBox 输入错误,你还有 & 3 - TIM & 次机会 TIM = TIM + 1 End If3、支持键盘操作,例TEXT2文本框中支持方向键代码如下:Private Sub text2_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then CmdOk.SetFocus 按回车键CmdOk获得焦点 If KeyCode = vbKeyUp Then Combo1.SetFocus If KeyCode
7、= vbKeyDown Then CmdOk.SetFocus End Sub4、密码框中输入任何字符以制定字符显示(例“*”),应设置其passwordchar属性的值即可。2.3.2学生信息管理模块(窗体名:main)图2-3学生信息管理界面(窗体名:main)关键技术:1、采用adodc和datagrid显示数据。操作步骤:(1)选中工程-部件(2)Adodc控件完成与各类数据库的连接(连接ODBC数据源student),可执行sql命令(select * from s)。(3)datagrid控件完成数据的显示(指定其DataSource为Adodc控件)。2、记录移动技术首条:Ado
8、dc1.Recordset.MoveFirst未条:Adodc1.Recordset.MoveLast上一条(注意应判断是否已移到最前,如果不判断移到第1条记录后再往前移动,程序就出错),关键代码如下:If Not Adodc1.Recordset.BOF ThenAdodc1.Recordset.MovePreviousEnd If下一条(注意应判断是否已移到最后,如果不判断移到第后条记录后再往后移动,程序就出错),关键代码如下:If Not Adodc1.Recordset.EOF ThenAdodc1.Recordset.MoveNextEnd If3、数据删除技术(应判断是否存在记录,
9、否则不存在记录作删除操作程序报错)关键代码如下:If Adodc1.Recordset.RecordCount 0 Then Dim sss sss = Trim(Adodc1.Recordset.Fields(sno) If MsgBox(真的要删除 + sss + 吗?, vbYesNo, 系统友情提示) = vbYes Then Adodc1.Recordset.Delete End IfEnd If4、查询技术:在这里强调标准SQL语句的语法问题,对于字符数据匹配,要加单引号,而对于数值型字段不需要加,例如SNO(char)与text1是否匹配的sql语句为:”select * fro
10、m s where sno=” &text1&”,例如Sgrade(int)与text1是否匹配的sql语句为”select * from s where Sgrade=” &text15、聚集函数的使用(可以给聚集函数起别名),使用方法如下:Dim t sqlt As Stringsqlt = select count(*) as 总人数 from s where & Combo1.Text & Combo2.Text & & Text1 & Set rs = exesql(sqlt) 调用执行SQL函数,已经在模块中添加Text2.Text = rs(总人数)5、增加修改技术(共用界面up
11、date)增加全局变量Public Flag As Integer,Flag = 0 增加记录,Flag = 1 修改记录If Flag = 1 ThenCall edit调用编辑过程ElseCall add调用增加过程End If增加记录时,程序中应考虑主键,空值,check等约束,因此程序中必须增加容错判断,代码如下:Sub add() 注意也可以直接使用insert语句Dim sql As Stringsql = select * from s where sno= & Text1.Text & Set rs = exesql(sql)If Text1.Text = Or Text2.T
12、ext = ThenMsgBox 学号姓名不能空Exit SubEnd IfIf DTPicker1.Value #1/1/2010# Or DTPicker1.Value #1/1/2010# Or DTPicker1.Value #1/1/1949# ThenMsgBox 出生日期不合法(1949-1-12010-1-1)!Exit SubEnd If rs(Sname) = Text2 If Option1.Value = True Then rs(Ssex) = 男 Else rs(Ssex) = 女 End If rs(Sbirthday) = DTPicker1.Value rs(
13、Sdept) = Text3 rs(Sgrade) = CInt(Combo1.Text) rs.UPDATE MsgBox 增加更新成功End Sub6,权限限制技术:Private Sub Form_Activate()权限判断1级权限所有权限等级2:拥有数据查询,增加权限等级3:拥有数据查询Dim sql As Stringsql = select * from yonghu where username= & username & Set rs = exesql(sql)If rs(jibie) = 2 ThenCommand3.Enabled = FalseCommand4.Enab
14、led = FalseElseIf rs(jibie) = 3 ThenCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = FalseEnd IfEnd Sub7,报表打印技术(在报表中添加相应控件):Private Sub DataReport_Initialize()Set rs1 = exesql(sqltext)Set DataReport1.DataSource = rs1 设置 DataReport 的数据源DataReport1.Sections(Section1).Controls(text1).
15、DataField = sno字段名DataReport1.Sections(Section1).Controls(text2).DataField = snameDataReport1.Sections(Section1).Controls(text3).DataField = ssexDataReport1.Sections(Section1).Controls(text4).DataField = sbirthdayDataReport1.RefreshEnd Sub2.3.3增加、修改学生信息模块(窗体名: update)图2-4增加学生信息界面(窗体名:update)图2-5修改学生信息界面窗体名:update2.3.4查询打印报表模块(窗体名: datareport1)图2-6查询打印报表界面(datareport1)2.3.5权限管理模块(窗体名: datareport1)图2-7权限管理界面(窗体名:quan
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025《鸿门宴》文化内涵课件
- 煤炭开采方法试题及答案
- 山东地生会考试卷及答案
- 1.2宪法的内容和作用 教案 2025-2026学年统编版道德与法治 八年级下册
- 药品零售企业药学服务人员岗前培训试题及答案
- 药物警戒知识试题及答案
- 医疗机构广告法培训试题及答案
- 农业职称竞聘试题及答案
- 医疗器械使用管理规范考核试题及答案
- 187公司例会部门会议模板
- 2026年宁夏葡萄酒与防沙治沙职业技术学院自主公开招聘工作人员考试参考试题及答案解析
- 2026年课件-冀人版二年级下册科学全册新质教学课件(2026年春改版教材)-新版
- 《工业机器人现场编程》课件-任务1.认识工业机器人
- 金蝶云星空应用开发初级认证
- 设备基础预埋件施工方案
- 供电协议合同格式模板
- 退役军人事务员(五级)职业资格考试题及答案
- DB34T∕ 2270-2014 铜阳极泥铜、金、银、硒、铋、铅含量的测定波长色散X射线荧光光谱法
- 初中学业规划-制定清晰学业目标与计划课件
- 医务人员批评与自我批评(通用7篇)
- 云南农业大学开题报告
评论
0/150
提交评论