1、数 据 库课 程 设 计 报 告论文(设计)题目: 数据库课程设计 学 院、 系: 信息工程学院 专 业 (方 向): 电子商务 年 级、 班: 级电子商务二班 学 生 姓 名: 张 娟 学 号: 07050259 指 导 教 师: 张旭东 目 录1 引 言12 简 介2SQL语言介绍63 需求分析83.1项目开发目标83.2系统运行环境84 系统总体设计94.1系统总体设计框图94.2系统功效模块设计95 数据库设计115.1 ER模型设计115.2 数据库逻辑结构设计125.3 数据库物理设计126 系统具体设计146.1 数据库及表创建146.2 创建工程项目156.3主窗体建立156.
2、3.1 用户登陆模块176.3.2 新生注册窗体186.3.3 成绩修改窗体196.3.4 成绩输入窗体216.3.5 学生档案管理216.3.6 学生课程管理227 系统测试和分析237.1 测试实例研究和选择237.2性能分析23结束语24参考文件26附 录271 . 引 言学生信息管理系统是一个教育单位不可缺乏部分,它内容对于学校决议者和管理者来说全部至关关键,所以学生学生成绩管理系统应该能够为用户提供充足信息和快捷查询手段。但一直以来大家使用传统人工方法管理文件学生成绩,这种管理方法存在着很多缺点,如:效率低、保密性差,另外时间一长,将产生大量文件和数据,这对于查找、更新和维护全部带来
3、了不少困难1。伴随科学技术不停提升,计算机科学日渐成熟,其强大功效已为大家深刻认识,它已进入人类社会各个领域并发挥着越来越关键作用。 作为计算机应用一部分,使用计算机对学生学生成绩信息进行管理,含有着手工管理所无法比拟优点.比如:检索快速、查找方便、可靠性高、存放量大、保密性好、寿命长、成本低等。这些优点能够极大地提升学生学生成绩管理效率,也是企业科学化、正规化管理,和世界接轨关键条件。 所以,开发这么一套管理软件成为很有必需事情。结合上述要求,在基于SQL数据库技术和面向对象编程技术基础上,研究了这套学生信息管理系统。该系统能够实现学生基础信息管理和成绩管理,并可实现多用户登陆。因为时间紧迫
4、、掌握技术有限等条件限制,本系统可能还存在着部分不足之外,敬请老师同学批评指导。2 .SQL语言介绍SQL是英文Structured Query Language缩写,意思为结构化查询语言,是访问数据库标准语言。SQL语言关键功效就是同多种数据库建立联络,进行沟通。根据ANSI(美国国家标准协会)要求,SQL被作为关系型数据库管理系统标准语言。SQL语句能够用来实施多种多样操作,比如更新数据库中数据,从数据库中提取数据等。 现在,绝大多数流行关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等全部采取了SQL语言标准。即使很多数据库
5、全部对SQL语句进行了再开发和扩展,不过包含Select, Insert, Update, Delete, Create, 和Drop在内标准SQL命令仍然能够被用来完成几乎全部数据库操作1。SQL语言是一个非过程化语言,它一次处理一个统计集合,对数据提供自动导航。SQL语言许可用户在高层数据结构上工作,而不对单个统计进行操作。SQL语言不要求用户指定数据存取方法,而是使用查询优化器,由系统决定对指定数据存取最快速手段。当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或有什么类型索引等细节。SQL语言能够完成很多功效,比如:(1)查询数据;(2)在数据
6、库表格中插入、修改和删除统计;(3)建立、修改和删除数据对象;(4)控制对数据和数据对象存取;(5)确保数据库一致性和完整性等。值表示式WHERE条件表示式3 . 需求分析3.1项目开发目标学生信息管理系统是面向教育部门学生管理事务,包含学生基础信息管理,学生成绩管理等工作,是利用计算机进行集中管理而开发系统。依据学生信息管理需求和特点,该系统实施后,应达成以下目标:(1)灵活地利用表格输入数据,使信息传输愈加快捷;(2)系统采取人机对话方法,界面美观友好、数据存放安全可靠;(3)键盘操作,快速响应;(4)实现多种信息添加、删除、修改、查询等;(5)系统运行稳定、安全可靠。3.2系统运行环境此
7、系统,代码使用VB语言编写,数据库管理系统采取SQL 数据库管理系统,运行在Windows 系统下。 系统总体设计1.系统总体设计框图学生信息管理学生信息添加学生信息修改学生信息删除学生信息查询学生成绩管理学生成绩添加学生成绩修改学生成绩删除学生成绩查询课程信息管理课程信息添加课程信息修改课程信息删除课程信息查询用户信息管理用户信息添加用户密码修改学生信息管理系统2.系统功效模块设计系统功效包含可视化窗口,对多种信息添加、修改、删除和查询等具体功效图4.2所表示。学生信息管理系统学生成绩管理学生信息管理课程信息管理用户信息管理 数据库设计1. ER模型设计毕业生就业管理系统概念结构设计是在系统
8、需求分析、数据步骤图和数据字典基础上抽象,结合联络ER模型设计方法,进行以下概要结构设计。为了使ER图表示得愈加清楚,将E-R图分成实体属性ER图及实体联络ER图。(1) 用实体及其属性部分ER图表示数据库系统概念模型。学生信息实体ER图,图5.1所表示:学生信息实体学号姓名性别年纪系别班级信息实体ER图,图5.2所表示:学生成绩实体学号课程号成绩班级信息实体ER图,图5.3所表示:课程信息实体课程号课程名先行课学分用户实体ER图,图5.4所表示:用户名用户信息实体密码学生考试选修课程mn成绩(2) 用实体及其联络部分ER图表示数据库系统概念模型,实体之间ER图,图5.5所表示:1n所属112
9、 .数据库逻辑结构设计3逻辑设计目标是把概念数据模型转化为数据库管理系统能够处理逻辑模型。也立即由ER图表示概念模型转换为DBMS通用逻辑模型,如关系模型,然后对其进行优化。以关系模型为目标逻辑结构设计方法是将ER实体图中概念模型映射为关系模型,而且包含一组关系定义,映射步骤以下:(1)把ER实体图中每个实体变换为一个关系模型。(2)变换每个关系:多对多模型需要加一个单独关系模型;而一对一或一对多联络可用在实体中增加属性(此处为外键)来模型化。(3)ER图中属性可转换为关系属性。3 .数据库物理设计系统中数据表以下所表示:(1)系统用户数据表(用户表)统计系统全部用户名和密码信息,表中各个字段
10、和各个字段说明如表5.1所表示:字段名称数据类型字节数说明用户名文本6主键密 码文本6非空(2)学生信息表统计学生学号、姓名等基础信息,表中各个字段和各个字段说明如表5.2所表示:字段名称数据类型字节数说明学 号文本9主 键姓 名文本10许可空性 别文本2许可空年 龄数值4许可空系 别文本20许可空(3) 学生成绩表统计学生学号、课程号及相关成绩,表中各个字段和各个字段说明如表5.3所表示字段名称数据类型字节数说明学 号文本6主 键课程号文本4主 键成 绩数值4许可空(4) 课程信息表统计课程号、课程名等相关信息,表中各个字段和各个字段说明如表5.4所表示:字段名称数据类型字节数说明课程号文本
11、4主 键课程名文本20许可空先行课文本4许可空学 分数值2许可空(5)学生专业表统计学号、姓名、专业等相关信息,表中各个字段和各个字段说明如表5.5所表示:字段名称数据类型字节数说明学 号文本6主 键姓 名文本4主 键专 业文本255许可空 系统具体设计1. 数据库及表创建开启SQL Server,右击“数据库”点击“新建数据库”,在弹出“数据库属性”对话框中可键入数据库名及其它其它信息,图6.1所表示:数据库创建完成后,点击可打开。右击“表”选择“新建表”,能够进行表创建和进行相关表属性设置,图6.2所表示:创建完表后右击对应表名“打开表”“返回全部行”,可对表进行添加、修改、插入、删除等对
12、应编辑操作,图6.3所表示:2. 创建工程项目(1) 开启VB 6.0,出现VB6.0运行界面,图6.4所表示:(2) 点击“文件”“保留工程”保留目前工程文件。3.主窗体建立 工程主窗体在VB程序设计中,主界面负责应用程序主界面,由它调用其它模块。所以,主界面应该含有操作性好、界面清楚、使用户能够很方便地找到所需功效特点。系统主界面部在对应系统菜单组成,用户只需点击对应菜单使可调出对应系统模块。对应代码:Private Sub changecj_Click()Form6.ShowEnd SubPrivate Sub cjshuru_Click()Form7.ShowEnd SubPrivat
13、e Sub dispcj_Click()Form5.ShowEnd SubPrivate Sub exit_Click()EndEnd SubPrivate Sub newuser_Click()Form11.ShowEnd SubPrivate Sub newusr_Click()Form10.ShowEnd SubPrivate Sub stucase_Click()Form3.ShowEnd SubPrivate Sub xskcgl_Click()Form9.ShowEnd SubPrivate Sub xueshendagl_Click()Form8.ShowEnd SubPriva
14、te Sub xueshengcx_Click()Form4.ShowEnd Sub3.1 用户登陆模块本模块共有三个部分组成:用户登陆窗体、密码修改窗体、新用户注册窗体。用户登陆窗体关键由文本框及命令按钮组成,利用Adodc控件及DataGrid控件实现程序代码和SQL数据连接(图6.6所表示)。用户键入用户名及密码后点击“确定”按钮系统会经过上述两个控件和数据库进行连接并进行数据比较,假如存在该用户及密码正确则会进行系统跳转进行主控制界面,不然会提醒用户犯错,重新输入用户名及密码,次数无限制。默认用户名为:admin,默认密码为:123456 用户登陆窗口 密码修改窗体及新用户注册窗体及登
15、陆窗体控件组成大致相同,这里不再详述。用户登陆代码:Dim username As String, userpass As StringPrivate Sub Command1_Click()Adodc1.Recordset.MoveFirstAdodc1.Recordset.Find (userID= & Text1 & )If Adodc1.Recordset.EOF ThenMsgBox 无此用户,请重新输入!Exit SubElseabc = Adodc1.Recordset.Fields(1)If Text2 = Trim(abc) ThenMsgBox 欢迎使用本系统,点击进入!,
16、 vbOKOnly, 登陆Me.HideForm2.ShowElseMsgBox 用户名或密码不正确,请重新输入!Text1 = Text2 = Exit SubEnd IfEnd IfEnd SubPrivate Sub Command2_Click()EndEnd Sub3.2 新生注册窗体新生注册窗口点击“新生注册”“学生档案”可打开本窗体,本窗体专门为新生注册使用。经过ADODC控件实现本窗体和数据库学生表连接,文本框默认不可编辑,用户点击“添加统计”按系统提醒可自动完成添加。图6.7所表示对应代码:Private Sub Command1_Click()Adodc1.Recordse
17、t.AddNewText1 = InputBox(请输入学生学号, 添加学号)Text2 = InputBox(请输入学生姓名, 添加姓名)Text3 = InputBox(请输入学生性别, 添加性别)Text4 = InputBox(请输入学生年纪, 添加年纪)If Not IsNumeric(Text4) ThenMsgBox 请输入数值Text4.SetFocusEnd IfText5 = InputBox(请输入学生系别, 添加系别)resu = MsgBox(确定添加到数据库, vbOKCancel, 确定添加)If resu = vbOK ThenAdodc1.Recordset.
18、UpdateElseAdodc1.Recordset.DeleteEnd IfEnd SubPrivate Sub Command2_Click()Me.HideForm2.ShowEnd Sub3.3 成绩修改窗体成绩修改窗体本窗体经过ADODC控件连接数据库成绩表,默认条件下文本全部不可编辑,用户能够点击上一条、下一条进行表浏览操作。点击“确定修改统计”按钮,成绩文本框变为可编辑状态,用户依据系统提醒可完成统计修改操作。假如键入成绩小0,则系统提醒犯错,并自动将犯错成绩重置为60分。对应代码:Private Sub Adodc1_MoveComplete(ByVal adReason As
19、 ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)Adodc1.Caption = Adodc1.Recordset.AbsolutePosition & / & Adodc1.Recordset.RecordCountEnd SubPrivate Sub Command1_Click(Index As Integer) Select Case Index Case 0 Adodc1.Records
20、et.MoveFirst 第一条 Case 1 Adodc1.Recordset.MovePrevious 上一条 If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst Case 2 Adodc1.Recordset.MoveNext 下一条 If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Case 3 Adodc1.Recordset.MoveLast 最终一条 Case 4 Dim mno As String mno = InputBox(请输入学号, 查找窗) 将输入值
21、存到变量内 Adodc1.Recordset.MoveFirst 移动统计指针到第一条统计上 Adodc1.Recordset.Find (sno= & mno & ) 用.Find方法查找指定科目 If Adodc1.Recordset.EOF Then MsgBox 无此学号! & Adodc1.Recordset.AbsolutePosition, , 提醒 End SelectEnd SubPrivate Sub Command2_Click()Adodc1.Recordset.UpdateEnd Sub3.4 成绩输入窗体 添加成绩窗体本窗体经过控件和文本框和数据库成绩表实现连接,文
22、本框默认不可编辑,但能够实现成绩浏览功效。用户点击“添加成绩”按钮,根据系统提醒可完成成绩添加操作。因为成绩表已经和学生表和课程表建立了完整性约束,所以假如用户键入学号或课程号不存在则将会提醒用户犯错,而且重新输入。3.5 学生档案管理 学生档案管理本窗体经过ADODC控件连接数据库学生表,能够实现对学生档案添加、删除、修改、查询和浏览操作。控件在程序运行时不可见,但却必不可少。用户点击上一条、下一条能够实现统计浏览,且内容不可编辑。查询统计时,只有查询条件及查询内容全部有修改时候,查询按钮才可用,不然不可用。修改或删除统计选项和确定按钮相连接,因为采取单选按钮,故某一时刻只能实现某一个操作。
23、实施该操作时统计内容不可编辑。3.6 学生课程管理 学生成绩管理本窗体经过ADODC控件连接数据库课程表,能够实现对课程系统添加、删除、修改、查询和浏览操作。控件在程序运行时不可见,但却必不可少。用户点击上一条、下一条能够实现统计浏览,且内容不可编辑。查询统计时,只有查询条件及查询内容全部有修改时候,查询按钮才可用,不然不可用。修改或删除统计选项和确定按钮相连接,因为采取单选按钮,故某一时刻只能实现某一个操作。实施该操作时统计内容不可编辑。 系统测试和分析软件测试是为了发觉错误而实施程序过程,其目标在于以最少时间和人力系统地找出软件中潜在多种错误和缺点。测试关键是由人而不是由机器实施,所以存在
24、心理学问题。1 .测试实例研究和选择因为软件错误复杂性,软件测试需要综合应用测试技术,软件测试步骤为单元测试、集成测试、确定测试和系统测试。 单元测试是对源程序中每一个程序单元进行测试,检验各个模块是否正确实现了要求功效,从而发觉模块在编码中或算法中错误。该阶段包含编码和具体设计文档。各模块经过单元测试后,将各模块组装起来进行集成测试,以检验和设计相关软件体系结构相关问题。确定测试关键检验已实现软件是否满足需求规格说明书中确定多种需求。系统测试将已确定软件和其它系统元素(如硬件、其它支持软件、数据和人工等)结合在一起进行测试。本系统是管理系统,关键是从数据库中读取数据,所以测试实例关键是实现和
25、数据相关多种操作。应用白盒测试法中语句覆盖方法使得程序中每条语句全部实施一次。2 .性能分析测试过程中发觉了不适宜或不相容类型说明;有变量无初值;有变量初始化或缺省值有错;有变量名不正确(拼错或不正确地截断);出现上溢、下溢和地址异常等问题,并逐一给予处理,确保了临时存放在模块内数据在程序实施过程中完整、正确。本系统长时间不间断连续运行不会出现错误,系统不会出现系统故障,不会出现严重错误,而且因为有较高容错技术,能较快纠正意外错误,使系统稳定可靠。本系统能够正确,快速处理学生信息管理操作事务,能够满足管理者需求,并大大降低了教务管理者信息查询及维护麻烦,实现日常处理计算机化,使系统简单实用。系
26、统程序代码中设计了判定语句,用来判定操作错误时弹出报错对话框,在系统中设置了权限判定,使数据含有一定保密性,增加了系统安全性。本系统功效还不是很完善,系统界面设计还有些简单,样式还不是尤其美观,有待于深入设计;系统设计中后台数据库应用SQL server,结合VB程序设计使操作更简单,了解更方便。经过系统性能测试得出,本系统即使有一定缺点和限制,但本系统具体功效能够完整实现,所以本系统能够投入到现实应用中。结束语此次课程设计是我第一次系统、完整接触软件设计过程。我做是学生信息管理系统。在这次课程设计中,我体会很深,也学会了很多东西,知道很多以前不懂东西,也明白了部分事情。经过此次数据库课程设计
27、,真正达成了学和用结合,增强了对数据库方面应用了解,对自己以后参与开发数据库系统积累了不少经验,在试验过程中,从建立数据开始,对数据库设计理念及思想上有更高认识,从需求分析,到概念设计和逻辑设计,E-R图表示,数据字典创建,知道了不少相关数据库开发过程中知识,在试验中建表,及其关系模式,关系代数建立及了解,将SQL语言查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言灵活性,其中包含插入、删除、修改、查询,牵涉表和表之间联络,主建和外键定义,约束项设置,使逻辑更严密,在学习过程中,我也上网查了不少资料,也看了部分她人设计图书馆管理信息系统设计汇报,学以致用,自我创新,独立完成了这份自己汇
28、报,从学到用,从用又到学,不停修改,系统更新。课程设计结束了,但我不会忘记在这次课程设计中我所得到。我深深体会到了这几句话:认真做事只是把事情做对,用心做事才能把事情做好。把每一件简单事情做好就是不简单,把第一件平凡事情做好就是不平凡。在以后学习中我会不停在实际中应用这几句话,我要不停总结,不停改善,不停努力,使自己成绩提升。参考文件1 萨师煊,王珊,数据库系统概论,高等教育出版社,2:1-1502 张来寅,谭明勇,数据库系统原理和应用,冶金工业出版社,7:27-503 梁灿,赵艳泽,SQL数据库应用基础教程,清华大学出版社,11:10-304 柴欣,武优西,Visual Basic程序设计基
29、础(第三版),北京:中国铁道出版社,附 录用户登陆窗口代码:Dim username As String, userpass As StringPrivate Sub Command1_Click()Adodc1.Recordset.MoveFirstAdodc1.Recordset.Find (userID= & Text1 & )If Adodc1.Recordset.EOF ThenMsgBox 无此用户,请重新输入!Exit SubElseabc = Adodc1.Recordset.Fields(1)If Text2 = Trim(abc) ThenMsgBox 欢迎使用本系统,点击
30、进入!, vbOKOnly, 登陆Me.HideForm2.ShowElseMsgBox 用户名或密码不正确,请重新输入!Text1 = Text2 = Exit SubEnd IfEnd IfEnd SubPrivate Sub Command2_Click()EndEnd Sub添加统计代码:Private Sub Command1_Click()Adodc1.Recordset.AddNewText1 = InputBox(请输入学生学号, 添加学号)Text2 = InputBox(请输入学生姓名, 添加姓名)Text3 = InputBox(请输入学生性别, 添加性别)Text4 =
31、 InputBox(请输入学生年纪, 添加年纪)If Not IsNumeric(Text4) ThenMsgBox 请输入数值Text4.SetFocusEnd IfText5 = InputBox(请输入学生系别, 添加系别)resu = MsgBox(确定添加到数据库, vbOKCancel, 确定添加)If resu = vbOK ThenAdodc1.Recordset.UpdateElseAdodc1.Recordset.DeleteEnd IfEnd SubPrivate Sub Command2_Click()Me.HideForm2.ShowEnd Sub学生查询代码:Pri
32、vate Sub Command1_Click()If Text1 = ThenMsgBox 请输入查询条件Text1.SetFocusEnd IfIf Option1.Value = True ThenAdodc1.Recordset.Find (sno= & Text1 & )If Adodc1.Recordset.EOF Then MsgBox 没有该学生ElseIf Option2.Value = True ThenAdodc1.Recordset.Find (sname= & Text1 & )If Adodc1.Recordset.EOF Then MsgBox 没有该学生End
33、IfEnd SubPrivate Sub Option1_Click()Text2 = Adodc1.Recordset.MoveFirstEnd SubPrivate Sub Option2_Click()Text1 = Adodc1.Recordset.MoveFirstEnd Sub成绩查询代码:Private Sub Command1_Click()If Text4 = ThenMsgBox 请输入查询学号Text4.SetFocusEnd IfAdodc1.Recordset.MoveFirstabcd = Sno= & Text4 & Adodc1.Recordset.Find (
34、abcd)If Adodc1.Recordset.EOF ThenMsgBox 没有该学生统计Text4.SetFocusEnd IfEnd SubPrivate Sub Text4_Change()If Len(Text4) 0 ThenCommand1.Enabled = TrueElseCommand1.Enabled = FalseEnd IfEnd Sub修改统计代码:Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatu
35、s As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)Adodc1.Caption = Adodc1.Recordset.AbsolutePosition & / & Adodc1.Recordset.RecordCountEnd SubPrivate Sub Command1_Click(Index As Integer) Select Case Index Case 0 Adodc1.Recordset.MoveFirst 第一条 Case 1 Adodc1.Recordset.MovePrevious 上一条 If
36、 Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst Case 2 Adodc1.Recordset.MoveNext 下一条 If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Case 3 Adodc1.Recordset.MoveLast 最终一条 Case 4 Dim mno As String mno = InputBox(请输入学号, 查找窗) 将输入值存到变量内 Adodc1.Recordset.MoveFirst 移动统计指针到第一条统计上 Adodc1.Record
37、set.Find (sno= & mno & ) 用.Find方法查找指定科目 If Adodc1.Recordset.EOF Then MsgBox 无此学号! & Adodc1.Recordset.AbsolutePosition, , 提醒 End SelectEnd SubPrivate Sub Command2_Click()Adodc1.Recordset.UpdateEnd Sub成绩添加代码:Private Sub Command1_Click()Dim adc As StringAdodc1.Recordset.AddNewa: Text1 = InputBox(输入学生学号
38、, 添加成绩)mm = Len(Text1)For i = 1 To mmabc = Mid(Text1, i, 1)If abc 9 ThenMsgBox 输入格式不正确请重新输入GoTo aEnd IfNext ib: Text2 = InputBox(输入课程号, 添加成绩)mm = Len(Text2)For i = 1 To mmabc = Mid(Text2, i, 1)If abc 9 ThenMsgBox 输入格式不正确请重新输入GoTo bEnd IfNext ic: Text3 = InputBox(输入学生成绩, 添加成绩)mm = Len(Text3)For i = 1
39、 To mmabc = Mid(Text3, i, 1)If abc 9 ThenMsgBox 输入格式不正确请重新输入GoTo aEnd IfNext iresu = MsgBox(确定添加数据库?, vbOKOnly, 确定添加)If resu = vbOK ThenAdodc1.Recordset.UpdateElseText1 = Text2 = Text3 = End IfEnd Sub学生档案管理代码:Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 Adodc1.Recordset.Move
40、First 第一条 Case 1 Adodc1.Recordset.MovePrevious 上一条 If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst Case 2 Adodc1.Recordset.MoveNext 下一条 If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Case 3 Adodc1.Recordset.MoveLast 最终一条 Case 4 Dim mno As String mno = InputBox(请输入学号, 查找窗) 将输入值存到变量内 A
41、dodc1.Recordset.MoveFirst 移动统计指针到第一条统计上 Adodc1.Recordset.Find (sno= & mno & ) 用.Find方法查找指定科目 If Adodc1.Recordset.EOF Then MsgBox 无此学号! & Adodc1.Recordset.AbsolutePosition, , 提醒 End SelectEnd SubPrivate Sub Command2_Click()Dim abcd As StringDim find1a: If Option1.Value = Option2.Value ThenMsgBox 请选择查询条件!Exit SubEnd IfIf Text6.Text = ThenMsgBox 请输入查询条件Text1.SetFocusExit SubEnd IfIf Option1.Value = True ThenAdodc1.Recordset.Find (sno= & Text6 & )If Adodc1.