版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章-学生基本信息管理系统的开发第2章学生基本信息管理系统的开发(C级)2.1 项目概述2.1.1 项目主要功能项目主要功能包含:(1)学生信息管理模块:该模块具体功能是学生基本基本信息的添加、信息修改、删除和查询,排序统计;(2)权限管理模块:该模块主要负责管理用户的信息,区分不同级别的用户,可提高系统安全性;(3)统计及报表;(4)数据管理四个部分。其操作流程如下所示:2.1.2 程序文件结构El&SIM:U在i占屋-当Fctftom-:cg-r.h惶-g.r;&辱犷途-国5耳熠工/&UPC-Tl.LPOATEftir;-心血片段He-k"匕士二遍-T口
2、芸产wR笆3即mH:图2-1程序文件结构2.2全局变量和数据库设计2.2.1 定义全局变量全局变量的定义:PublicFlagAsIntegerPublicusernameAsString这两个变量用来存放登陆用户名和相应等级,定义在标准模块Module1.BAS中。公有函数(可执行SQL语句,返回记录集)的定义:PublicFunctionexesql(ByValsqlAsString)AsADODB.Recordsetsql=Trim$(sql)Setconn=NewADODB.ConnectionSetrst=NewADODB.Recordsetconn.ConnectionString
3、="dsn=student"'ODBC(据源名conn.OpenSetrst.ActiveConnection=connrst.LockType=adLockOptimisticrst.CursorType=adOpenKeysetrst.OpensqlSetexesql=rstSetrst=NothingSetconn=NothingEndFunction公有函数亦定义在标准模块Module1.BAS中2.2.2 数据库的设计物理数据库名:studentODB嗷据源名:student字段名、4土键数据类型长度默必CHECK!说填束明值Snochar8/学”号Sna
4、mechar5/姓VI名Ssexchar2/性V别1/1/194出Sbirthdaydatetime89,1/1/201日0期Sdeptchar20信科系系科Sgradeint41,4年级2.:?.1S表(-学生基本信息表)字段名、4土键类型长度默必、人.认填值值CHECK说约束明用usernamechar8户名passwordchar5/密码jibieint2,1等级2.2.2yonghu表(学生基本信息表)2.3 效果和关键实现2.3.1 登陆模块(窗体名:login)0系统登录窗体设计norx系统用户登录®操作员:届密珥I图2-2登陆界面(窗体名:login)关键技术:1、操作
5、数据库的专用函数exesql也应添加到标准模块Modulel.BAS中并在VB在VB工程-引用中添加MicrosoftActiveXDataObjects2.5Library。2、登陆错误次数限制3次不允许用户无止尽尝试密码,一旦错误超过三次程序自动结束,在窗体通用部分首先定义窗体级变量TIM,核心程序如下:'验证操作员及密码DimsqlAsStringsql="select*fromyonghuwhereusername='"+Combol.Text+"'andpassword、"+Text2.Text+""
6、'Setrs=exesql(sql)Ifrs.RecordCount>0ThenLoadmainmain.Showusername=Combo1UnloadMeElseIfTIM=3Then'密码输错3次,退出系统myval=MsgBox("密码输入错误,请向系统管理员查询!",0,"")Ifmyval=vbOKThenEndElseMsgBox"输入错误,你还有"&3-TIM&"次机会"TIM=TIM+1EndIf3、支持键盘操作,例TEXT2文本框中支持方向键代码如下:Pr
7、ivateSubtext2_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyReturnThenCmdOk.SetFocus'按回车键CmdO贼得焦点IfKeyCode=vbKeyUpThenCombo1.SetFocusIfKeyCode=vbKeyDownThenCmdOk.SetFocusEndSub4、密码框中输入任何字符以制定字符显示(例“*”),应设置其passwordchar属性的值即可。2.3.2学生信息管理模块(窗体名:main)图2-3学生信息管理界面(窗体名:main)关键技术:1、采用adodc和da
8、tagrid显示数据。操作步骤:(1)选中工程-部件0MicrosoftADODataControl6.0QOLEDB)HicrosoftDataGridControl6.0(OLEDBj(2)Adodc控件完成与各类数据库的连接(连接ODB嗷据源student),可执行sql命令(select*froms)。datagrid控件完成数据的显示(指定其DataSource为Adodc控件)。2、记录移动技术首条:Adodc1.Recordset.MoveFirst未条:Adodc1.Recordset.MoveLast上一条(注意应判断是否已移到最前,如果不判断移到第1条记录后再往前移动,程序
9、就出错),关键代码如下:IfNotAdodc1.Recordset.BOFThenAdodc1.Recordset.MovePreviousEndIf下一条(注意应判断是否已移到最后,如果不判断移到第后条记录后再往后移动,程序就出错),关键代码如下:IfNotAdodc1.Recordset.EOFThenAdodcI.Recordset.MoveNextEndIf3、数据删除技术(应判断是否存在记录,否则不存在记录作删除操作程序报错)关键代码如下:IfAdodcI.Recordset.RecordCount<>0ThenDimssssss=Trim(Adodc1.Recordse
10、t.Fields("sno")IfMsgBox("真的要删除"+sss+"吗?",vbYesNo,”系统友情提示")=vbYesThenAdodcI.Recordset.DeleteEndIfEndIf4、查询技术:在这里强调标准SQL语句的语法问题,对于字符数据匹配,要加单引号,而对于数值型字段不需要加,例如SNO(char)与text1是否匹配的sql语句为:"select*fromswheresno='"&text1&"'",例如Sgrade(in
11、t)与text1是否匹配的sql语句为"select*fromswhereSgrade="&text15、聚集函数的使用(可以给聚集函数起别名八使用方法如下:DimtsqltAsStringsqlt="selectcount(*)as总、人数fromswhere"&Combol.Text&Combo2.Text&"”'&Textl&"”Setrs=exesql(sqlt)'调用执行SQL函数,已经在模块中添加Text2.Text=rs("总人数")5、
12、增加修改技术(共用界面update)增加全局变量PublicFlagAsInteger,Flag=0'增加记录,Flag=1'修改记录IfFlag=1ThenCalledit'调用编辑过程ElseCalladd'调用增加过程EndIf增加记录时,程序中应考虑主键,空值,check等约束,因此程序中必须增加容错判断,代码如下:Subadd()'注意也可以直接使用insert语句DimsqlAsStringsql="select*fromswheresno='"&Textl.Text&""Set
13、rs=exesql(sql)IfTextl.Text=""OrText2.Text=""ThenMsgBox"学号姓名不能空"ExitSubEndIfIfDTPicker1.Value>#1/1/2010#OrDTPicker1.Value<#1/1/1949#ThenMsgBox"出生日期不合法(1949-1-12010-1-1)!"ExitSubEndIfIfrs.RecordCount=0Thenrs.AddNewrs("sno")=Text1rs("Sname&qu
14、ot;)=Text2IfOption1.Value=TrueThenrs("Ssex")="男"Elsers("Ssex")="女"EndIfrs("Sbirthday")=DTPickerl.Valuers("Sdept")=Text3rs("Sgrade")=Clnt(Combol.Text)rs.UPDATEMsgBox"增加记录成功"ElseMsgBox"学号重复无法添加!"EndIfEndSub2、编辑记录
15、时,首先加载被编辑的数据到各控件,因此在窗体的相应事件中添加:PrivateSubForm_Load()Combo1.AddItem"1"Combo1.AddItem"2"Combo1.AddItem"3"Combo1.AddItem"4"IfFlag=1Then'修改数据,首先加载该条数据FLA腔局变量。Text1main.Adodc1.Recordset.Fields("sno")Text1.Enabled=False'学号无法更改Text2main.Adodc1.Recor
16、dset.Fields("sname")Ifmain.Adodc1.Recordset.Fields("ssex")="男"ThenOptionl.Value=TrueElseOption2.Value=TrueEndIfDTPickerl.Value=main.Adodc1.Recordset.Fields("sbirthday")Text3=main.Adodc1.Recordset.Fields("sdept")Combol.Text=main.Adodc1.Recordset.Field
17、s("sgrade")EndIfEndSub具体编辑过程如下:Subedit()'注意也可以直接使用update语句DimsqlAsStringsql="select*fromswheresno='"&Text1.Text&""Setrs=exesql(sql)IfText1.Text=""OrText2.Text=""ThenMsgBox"学号姓名不能空"ExitSubEndIfIfDTPickerl.Value>#1/1/2010#O
18、rDTPickerl.Value<#1/1/1949#ThenMsgBox"出生日期不合法(1949-1-12010-1-1)!"ExitSubEndIfrs("Sname")=Text2IfOption1.Value=TrueThenrs("Ssex")="男"Elsers("Ssex")="女"EndIfrs("Sbirthday")=DTPicker1.Valuers("Sdept")=Text3rs("Sgrad
19、e")=CInt(Combo1.Text)rs.UPDATEMsgBox"增加更新成功"EndSub6,权限限制技术:PrivateSubForm_Activate()权限判断'1级权限所有权限'等级2:拥有数据查询,增加权限'等级3:拥有数据查询DimsqlAsStringsql="select*fromyonghuwhereusername='"&username&""'Setrs=exesql(sql)Ifrs("jibie")=2ThenCo
20、mmand3.Enabled=FalseCommand4.Enabled=FalseElseIfrs("jibie")=3ThenCommand3.Enabled=FalseCommand4.Enabled=FalseCommand5.Enabled=FalseEndIfEndSub7,报表打印技术(在报表中添加相应控件):PrivateSubDataReport_Initialize()Setrs1=exesql(sqltext)SetDataReport1.DataSource=rs1'设置DataReport的数据源DataReport1.Sections("Section1").Controls("text1").DataField="sno"'字段名DataReport1.Sections("Section1").Controls("text2").DataField=&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师工作总结
- 农业节水增效结题报告
- 报警系统巡检手册
- 广东省深圳市光明区2026年中考历史二模试卷附答案
- 2026年度GEO优化服务商TOP3深度测评:AI搜索时代品牌权威信源布局指南
- 腧穴的概述试题及答案
- 2026年山西省吕梁市中考化学二模试卷(含答案)
- 降农残剂及5000吨膳食纤维项目可行性研究报告模板拿地申报
- 2026注册核安全工程师题库试题含完整答案详解【各地真题】
- 乡村安全生产网格化监管责任体系细则
- 2025年八年级数学下册反比例函数专项训练100题(含答案)
- 数学-第十一章 不等式与不等式组单元测试卷 2024-2025学年人教版数学七年级下册
- 医疗整形美容麻醉安全规范
- 人音版一年级下册《第3课 火车波尔卡》课堂教学设计
- 汽车租赁合同模板
- 高三学生人生规划
- 2024-2025学年高中化学第三章有机化合物1.2烷烃练习含解析新人教版必修2
- 旅游景区安全防范要求 第2部分:湖泊型
- ASTM-D3359-(附著力测试标准)-中文版
- DL∕T 2013-2019 垃圾焚烧发电厂启动试运及验收规程
- 2024年山东省高考化学试卷(真题+答案)
评论
0/150
提交评论