教学单位 商洛学院 学生学号 11094103 编 号
数据库课程设计
题 目 通讯录管理系统
班 级 11级专升本 学生姓名 王丽丽
专业名称 计算机科学与技术 指导教师 樊景博
2011年12月 26日
1
商洛学院课程设计
通讯录管理系统
【摘 要】随着信息技术在生活中越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位或个人要存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。
本通讯录是在管理信息系统的理论和方法指导下、数据库技术支持下完成的。本文在结构上首先论述了课程设计选题的背景、目的和意义,然后叙述了开发环境、开发平台以及数据库技术,接着用表格和图片的方式介绍了系统的整体规划,接下来是系统在具体实现中的详细内容,最终本通讯录能够完成信息的输入、输出,数据的修改、查询以及打印报表等功能,本通讯录界面友好,操作简单,比较实用。
【关键词】控件;窗体;报表;关系数据库管理系统;VB。
2
商洛学院课程设计
Address book management system
Abstract:Along with the information technology in the life more and more depth and a wide range of applications, the management information system in the implementation of technology has gradually matured. Management information system is a continuous development of new disciplines, any unit or individual to save to develop and efficient activities of the internal organization of organic, it must establish its own characteristics in line with the management information system.
This directory is in management information system under the guidance of the theory and method, database technology support is done. This paper first discusses the structure in the course design of the topic selection background, purpose and meaning, then describes the development environment,
development platform and database technology, and then used form and pictures of the way the overall planning of the system is introduced, then the system in the realization of the specific details, and eventually the address book to be able to complete the information input, output, modify, inquires the data and print report, and other functions, this address book friendly interface, the operation is simple, is more practical.
Key words:control;Form; Statement; Relational database management system;VB
3
商洛学院课程设计
1 绪论
通讯录管理系统是任何一个单位或个人不可缺少的部分,它的内容对于任何一个单位或个人说都至关重要,所以通讯录管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式来管理通讯录管理系统,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难[1]。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对通讯录进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高通讯录管理的效率,也是任何一个单位的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情。结合上述要求,在基于SQL2000数据库技术以及面向对象的编程技术的基础上,研究了这套通讯录管理系统。该系统可以实现通讯录基本信息的管理,并可实现多用户登陆。
由于时间紧迫、掌握技术有限等条件限制,本系统可能还存在着一些不足之外,敬请老师同学批评指导。
4
商洛学院课程设计
1.1 Visual Basic简介
1991年,美国微软公司推出了Visual Basic(可简称VB),目前的最新版本是VB 2008 Beta2(VB9)中文版。
Visual 意即可视的、可见的,指的是开发像Windows操作系统的图形用户界面(Graphic User Interface,GUI)的方法,它不需要编写大量代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应的位置即可。
Basic 实际上是一个短语的缩写,这个短语就是 Beginners all_purpose symbolic instruction code ,其中文意思为“初始者通用符号指令代码语言”。 Visual Basic 6 有学习版、专业版和企业版三种版本,以满足不同的开发需要。学习版适用于普通学习者及大多数使用 Visual Basic 开发一般 Windows 应用程序的人员,但是;专业版适用于计算机专业开发人员,包括了学习版的全部内容功能以及Internet控件开发工具之类的高级特性;企业版除包含专业版全部的内容外,还有自动化构件管理器等工具,使得专业编程人员能够开发功能强大的组骨子里分布式应用程序。
Visual Basic 是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,以用动态链接库(DLL)、对象的链接与世隔嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。随着版本的提高,Visual Basic的功能也越来越强。5.0版以后,Visual Basic 推出了中文版,与前个版本相比,其功能有了很大提升。
1.1.1主窗口
与其他的Windows窗口类似,Visual Basic的主窗口也由标题栏、菜单栏、工具栏等项组成。
1.标题栏
标题栏中的标题为“工程1-Microsoft Visual Basic[设计]”,说明此时集成开发环境入于设计模式,在进入基他状态时,方括号的文字将作相应的变化。
VB有3种工作模式:设计(Design)模式、运行(Run)模式和中断(Break)模
5
商洛学院课程设计
式。
2.菜单栏
Visual Basic的菜单栏中除了提供标准的“文件”、“编辑”、“视图”、“窗口”和“帮助”等菜单外,还提供了编程专用的一些功能菜单,如“工程”、“格式“、“调试”、“运行”等,程序开发过程中所需要的命令和功能均包含在这些菜单中。
3.工具栏
工具栏集中了最常用的操作,利用工具栏按钮可以迅速地访问常用的菜单命令。
1.1.2 属性窗口
设置窗体或控件的属性,如 颜色、字体、大小等。 属性窗口由以下部分组成: (1)对象列表框 (2)属性显示排列方式 (3)属性列表
1.1.3工程资源管理器窗口
在该窗口中可以对当前使有的工程中所有部件进行管理,它的主要功能是:添加、删除各个组成部分;在代码和界面设计之间进行切换;宏观地对整个工程进行控制。
1.1.4代码窗口
代码窗口的主要功能是编辑事件驱动程序及其他代码,它是专门用来进行程序设计的窗口,可在其中显示和编辑程序代码。
1.1.5窗体布局窗口
窗体布局窗口用于表明程序运行时程序窗口出现的初始位置。
1.1.6工具箱窗口
刚安装Visual Basic时,它由21个被绘制成按钮的图标构成,显示了各种控件的制作工具。利用这些工具,用户可以在窗体上设计各种控件。
1.2 数据库系统简介
1.2.1 数据库的基本结构
数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。
6
商洛学院课程设计
(1)物理数据层。
它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。 (2)概念数据层。
它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。 (3)逻辑数据层。
它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。
数据库不同层次之间的联系是通过映射进行转换的。
1.2.2 数据库的主要特点
(1)实现数据共享。
数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。 (2)减少数据的冗余度。
同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。 (3)数据的独立性。
数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。
(4)数据实现集中控制。
文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
(5)数据一致性和可维护性,以确保数据的安全性和可靠性。
主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。
1.2.3 数据库发展阶段大致划分为如下几个阶段
7
商洛学院课程设计
人工管理阶段; 文件系统阶段; 数据库系统阶段; 高级数据库阶段。
1.2.4数据库结构与数据库种类[2]
数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不
同的数据库是按不同的数据结构来联系和组织的。 1.数据结构模型 (1)数据结构
所谓数据结构是指数据的组织形式或数据之间的联系。如果用D表示数据,用R表示数据对象之间存在的关系集合,则将DS=(D,R)称为数据结构。例如,设有一个电话号码簿,它记录了n个人的名字和相应的电话号码。为了方便地查找某人的电话号码,将人名和号码按字典顺序排列,并在名字的后面跟随着对应的电话号码。这样,若要查找某人的电话号码(假定他的名字的第一个字母是Y),那么只须查找以Y开头的那些名字就可以了。该例中,数据的集合D就是人名和电话号码,它们之间的联系R就是按字典顺序的排列,其相应的数据结构就是DS=(D,R),即一个数组。(2)数据结构种类
数据结构又分为数据的逻辑结构和数据的物理结构。数据的逻辑结构是从逻辑的角度(即数据间的联系和组织方式)来观察数据,分析数据,与数据的存储位置无关。数据的物理结构是指数据在计算机中存放的结构,即数据的逻辑结构在计算机中的实现形式,所以物理结构也被称为存储结构。这里只研究数据的逻辑结构,并将反映和实现数据联系的方法称为数据模型。
目前,比较流行的数据模型有三种,即按图论理论建立的层次结构模型和网状结构模型以及按关系理论建立的关系结构模型。 2.层次、网状和关系数据库系统 (1)层次结构模型
层次结构模型实质上是一种有根结点的定向有序树(在数学中\"树\"被定义为一个无回的连通图)。例如图20.6.4是一个高等学校的组织结构图。这个组织结构图像一棵树,校部就是树根(称为根结点),各系、专业、教师、学生等为枝点(称为结点),树根与枝点之间的联系称为边,树根与边之比为1:N,即树根只有一个,树枝有N个。
按照层次模型建立的数据库系统称为层次模型数据库系统。IMS(Information Manage-mentSystem)是其典型代表。
8
商洛学院课程设计
(2)网状结构模型
按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTG(Data Base Task Group)。用数学方法可将网状数据结构转化为层次数据结构。
(3)关系结构模型
关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。例如某单位的职工关系就是一个二元关系。
由关系数据结构组成的数据库系统被称为关系数据库系统。
在关系数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系表格的分类、合并、连接或选取等运算来实现数据的管理。dBASEII就是这类数据库管理系统的典型代表。对于一个实际的应用问题(如人事管理问题),有时需要多个关系才能实现。用dBASEII建立起来的一个关系称为一个数据库(或称数据库文件),而把对应多个关系建立起来的多个数据库称为数据库系统。dBASEII的另一个重要功能是通过建立命令文件来实现对数据库的使用和管理,对于一个数据库系统相应的命令序列文件,称为该数据库的应用系统。因此,可以概括地说,一个关系称为一个数据库,若干个数据库可以构成一个数据库系统。数据库系统可以派生出各种不同类型的辅助文件和建立它的应用系统。
1.3 SQL语言介绍
1.3.1 SQL简介
SQL是英文Structured Query Language的缩写,意思为结构化查询语言,是访问数据库的标准语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create, 以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作[1]。
SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。当设计者在关系表上定义了索引时,系统会自动利用索引进
9
商洛学院课程设计
行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。
SQL语言可以完成许多功能,例如: (1)查询数据;
(2)在数据库表格中插入、修改和删除记录; (3)建立、修改和删除数据对象; (4)控制对数据和数据对象的存取; (5)确保数据库的一致性和完整性等。
1.3.2 SQL语言的数据查询
使用数据库的目的是为了有效地管理数据,而数据的插入、删除和修改则是必不可少的功能。在本系统中就大量地使用了数据插入、删除和修改这三种操作,现在对它们做一个简单地介绍[1]。
(1)数据插入
往数据库的基本表中插入数据使用的是INSERT语句,其方式有两种:一种是元组值的插入,另一种是查询结果的插入。在本系统中使用的是前一种方式,其句法如下:
INSERT INTO 基本表名(列表名)VALUES(元组值) (2)数据删除
从数据库的基本表中删除数据使用的是DELETE语句,其句法如下: DELETE FROM 基本表名 [WHERE 条件表达式] (3)数据修改
当需要修改基本表中元组的某些列值时,可以用UPDATE语句实现,其句法如下:
UPDATE基本表名SET列名=值表达式[,列名=值表达式„][WHERE条件表达式]
10
商洛学院课程设计
2 需求分析
2.1提出问题
数据库是一门研究数据管理的技术,始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。
随着社会的发展和经济时代的到来,管理信息系统在各行各业都占据着越来越重要的地位,特别是教育事业。在经济发达的国家,许多教育机构(如公办、私立、培训机构等),都投入了大量的资金开发MIS系统,以求在将来激烈的竞争中立于不败之地。因此,开发一套能够为此提供规范化的事务管理、充足的信息和快捷的查询手段的学生信息管理系统是非常必要的。
2.2项目开发目标
通讯录管理系统是面向用户的通讯管理,包括联系人基本信息管理的工作,是利用计算机进行集中管理而开发的系统。该系统是以SQL 2000为后台数据库进行开发的毕业生就业管理系统,力求与实际相结合具有查询、管理等功能,使教育的管理趋于计算机化,使之更加方便、快捷以提高工作效率。
根据通讯录管理的需求和特点,该系统实施后,应达到以下目标: (1)灵活地运用表格输入数据,使信息传递更快捷;
(2)系统采用人机对话方式,界面美观友好、数据存储安全可靠; (3)键盘操作,快速响应;
(4)实现各种信息的添加、删除、修改、查询等; (5)系统运行稳定、安全可靠。
2.3系统的运行环境
此系统,代码使用VB语言编写,数据库管理系统采用SQL2000数据库管理系统,运行在Windows98/ME/2000/XP系统下。
11
商洛学院课程设计
3 数据库设计
3. 1 E--R模型的设计
通讯录管理系统概念结构设计是在系统的需求分析、数据流程图和数据字典基础上的抽象,结合联系ER模型的设计方法,进行如下概要结构设计。为了使ER图表示得更加清晰,将E-R图分成实体属性ER图及实体联系ER图。
用实体及其属性的部分E-R图表示数据库系统的概念模型。
通讯录 ID QQ 电话号码 E-mail 姓名
3 .2 数据库逻辑结构设计
逻辑设计的目的是把概念数据模型转化为数据库管理系统可以处理的逻辑模型。也即将由ER图表示的概念模型转换为DBMS通用的逻辑模型,如关系模型,然后对其进行优化。
以关系模型为目标的逻辑结构设计方法是将ER实体图中概念模型映射为关系模型,并且包括一组关系定义,映射的步骤如下: (1)把ER实体图中的每个实体变换为一个关系模型。
(2)变换每个关系:多对多模型需要加一个单独的关系模型;而一对一的或者一对多的联系可用在实体中增加属性(此处为外键)来模型化。 (3)ER图中的属性可转换为关系的属性。
3.3数据库物理设计
系统中的数据表如下所示: 通讯录信息表记录编号、姓名等基本信息,表中的各个字段以及各个字段的说明如表4.2所示:
12
商洛学院课程设计
字段名称 ID 姓 名 电话号码 QQ E-mail
数据类型 文本 文本 文本 数值 文本
字节数 9 10 2 4 20
说明 主 键 不允许空 不允许空 不允许空 不允许空
4 系统详细设计
4.1数据库及表创建
启动SQL2000 Server,右击“数据库”点击“新建数据库”,在弹出的“数据库属性”对话框中可键入数据库名及其它其它信息,如图5.1所示:
13
商洛学院课程设计
数据库创建完毕后,点击可打开。右击“表”选择“新建表”,可以进行表的创建以及进行相关的表属性设置,如图5.2所示:
创建完表后右击对应表名——“打开表”——“返回所有行”,可对表进行添加、修改、插入、删除等相应编辑操作,如图5.3所示:
4.2创建工程项目
14
商洛学院课程设计
(1) 启动VB 6.0,出现VB6.0运行界面,如图5.4所示: (2) 点击“文件”——“保存工程”保存当前工程文件。
4.3户登陆模块
本模块共有一个部分组成:用户登陆窗体
用户登陆窗体主要由文本框及命令按钮组成,用户键入用户名及密码后点击“确定”按钮,,如果存在该用户及密码正确则会进行系统跳转进行主控制界面,否则会提示用户出错,重新输入用户名及密码,次数无限制
用户登陆代码:
Private Sub cmdclear_Click() txtuser.Text = \"\" txtpass.Text = \"\"
15
商洛学院课程设计
End Sub
Private Sub cmdlogin_Click()
If (Trim(txtuser.Text) = \"test1\") Or (Trim(txtuser.Text) = \"test2\") Then If Trim(txtpass.Text) = \"123\" Then frmmain.Show Me.Hide Else
MsgBox \"密码错误!\" End If Else
MsgBox \"用户名错误\" End If End Sub
Private Sub cmdquit_Click() End End Sub
5.4窗体的建立
16
商洛学院课程设计
在VB程序设计中,主界面负责应用程序的主界面,由它调用其它模块。因此,主界面应该具有操作性好、界面清晰、使用户能够很方便地找到所需功能的特点。本系统的主界面部在相应的系统菜单组成,用户只需要点击相应的菜单使可调出对应的系统模块。 相应代码:
Private Sub cmdAdd_Click() Adodctxl.Recordset.AddNew cmdAdd.Enabled = False cmdDel.Enabled = False cmdUpdate.Enabled = True cmdCancel.Enabled = True End Sub
Private Sub cmdCancel_Click() Adodctxl.Recordset.CancelUpdate cmdAdd.Enabled = True cmdDel.Enabled = True cmdCancel.Enabled = False End Sub
Private Sub cmdDel_Click() Dim res As Integer
res = MsgBox(\"确实要删除此行记录吗?\vbDefaultButton2) If res = vbYes Then Adodctxl.Recordset.Delete Adodctxl.Recordset.MoveNext
If Adodctxl.Recordset.EOF = True Then Adodctxl.Recordset.MoveLast End If
17
商洛学院课程设计
End If End Sub
Private Sub cmdQuit_Click() frmquit.Show frmmain.Hide End Sub
Private Sub cmdSearch_Click() If Len(txtId.Text) > 0 Then Adodctxl.CommandType = adCmdText
Adodctxl.RecordSource = \"select * from wlltxl where &Trim(txtId.Text) & \"'\" Adodctxl.Refresh Else
MsgBox (\"请指定要查找的ID\") End If End Sub
Private Sub cmdUpdate_Click()
Adodctxl.Recordset.Fields(\"ID\") = Trim(txtId.Text) Adodctxl.Recordset.Fields(\"Name\") = Trim(txtName.Text) Adodctxl.Recordset.Fields(\"Phone\") = Trim(txtPhone.Text) Adodctxl.Recordset.Fields(\"QQ\") = Trim(txtQq.Text) Adodctxl.Recordset.Fields(\"E_mail\") = Trim(txtEmail.Text) Adodctxl.Recordset.Update cmdAdd.Enabled = True cmdDel.Enabled = True cmdCancel.Enabled = False
18
ID='\" 商洛学院课程设计
End Sub
19
商洛学院课程设计
谢 辞
在将近一周的课程设计里,首先我很感谢老师的细心指导。在整个设计过程中,老师给了我很多的指导和支持,才使得些次设计圆满结束。在此,真诚的对老师说一声:“谢谢,老师,您辛苦了”。
此次设计的顺利完成还要感谢给予我帮助的同学们,我们讨论所遇到的问题,并一起解决。在讨论中解决问题,并且在交流的过程中,我们也可以学到更多的东西。
通过这次课设让我学到许多。在学习专业课的时候要注意理论联系实际。注意将课本上的知识应用到日常的操作中,真正做到学以致用。只有这样,才能做到目的明确,才能有足够的学习动力。
课程设计已经结束了,这次课程设计带给自己很多体会,在以后的学习中要不断总结,不断改进,使自己的成绩有新的提高。
20
商洛学院课程设计
参考文献
1段兴等.visual bisic数据库实用程序设计100例[M]. 北京:人民邮电出版社 .1998
2吴昌平.Visual Basic 6.0程序设计[M].北京:人民邮电出版社. 1994 3邢晓怡.Visual Basic程序设计教程[M].电子工业出版社.2007
4 郭胜,夏邦贵.Visual Basic数据库开发入门与范例解析.北京:机械工业出版社,2004年
5 刘瑞新.Visual Basic管理信息系统开发毕业设计指导及实例.北京:机械工业出版社,2005年
21
商洛学院课程设计
附 录
用户登陆窗口代码:
Dim username As String, userpass As String Private Sub Command1_Click() Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find (\"userID='\" & Text1 & \"'\") If Adodc1.Recordset.EOF Then MsgBox \"无此用户,请重新输入!\" Exit Sub Else
abc = Adodc1.Recordset.Fields(1) If Text2 = Trim(abc) Then
MsgBox \"欢迎使用本系统,点击进入!\Me.Hide Form2.Show Else
MsgBox \"用户名或密码不正确,请重新输入!\" Text1 = \"\" Text2 = \"\" Exit Sub End If End If End Sub
Private Sub Command2_Click() End End Sub
添加记录代码:
Private Sub Command1_Click() Adodc1.Recordset.AddNew
Text1 = InputBox(\"请输入学生学号\添加学号\") Text2 = InputBox(\"请输入学生姓名\添加姓名\")
22
登陆\" 商洛学院课程设计
Text3 = InputBox(\"请输入学生性别\添加性别\") Text4 = InputBox(\"请输入学生年龄\添加年龄\") If Not IsNumeric(Text4) Then MsgBox \"请输入数值\" Text4.SetFocus End If
Text5 = InputBox(\"请输入学生系别\添加系别\")
resu = MsgBox(\"确认添加到数据库\确认添加\") If resu = vbOK Then Adodc1.Recordset.Update Else
Adodc1.Recordset.Delete End If End Sub
Private Sub Command2_Click() Me.Hide Form2.Show End Sub
学生查询代码:
Private Sub Command1_Click() If Text1 = \"\" Then MsgBox \"请输入查询条件\" Text1.SetFocus End If
If Option1.Value = True Then
Adodc1.Recordset.Find (\"sno='\" & Text1 & \" '\") If Adodc1.Recordset.EOF Then MsgBox \"没有该学生\" ElseIf Option2.Value = True Then
Adodc1.Recordset.Find (\"sname='\" & Text1 & \" '\") If Adodc1.Recordset.EOF Then MsgBox \"没有该学生\" End If End Sub
Private Sub Option1_Click() Text2 = \"\"
Adodc1.Recordset.MoveFirst
23
商洛学院课程设计
End Sub
Private Sub Option2_Click() Text1 = \"\"
Adodc1.Recordset.MoveFirst End Sub 成绩查询代码:
Private Sub Command1_Click() If Text4 = \"\" Then MsgBox \"请输入查询的学号\" Text4.SetFocus End If
Adodc1.Recordset.MoveFirst abcd = \"Sno='\" & Text4 & \" '\" Adodc1.Recordset.Find (abcd) If Adodc1.Recordset.EOF Then MsgBox \"没有该学生记录\" Text4.SetFocus End If End Sub
Private Sub Text4_Change() If Len(Text4) > 0 Then Command1.Enabled = True Else
Command1.Enabled = False End If End Sub 修改记录代码: Private Sub
Adodc1_MoveComplete(ByValadReason As ADODB.EventReasonEnum,
ByValpError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByValpRecordset As ADODB.Recordset) Adodc1.Caption
=
Adodc1.Recordset.AbsolutePosition
&
\"/\"
&
Adodc1.Recordset.RecordCount End Sub
Private Sub Command1_Click(Index As Integer)
24
商洛学院课程设计
Select Case Index Case 0
Adodc1.Recordset.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(\"请输入学号\查找窗\") ' 将输入值存到变量内
Adodc1.Recordset.MoveFirst ' 移动记录指针到第一条记录上 Adodc1.Recordset.Find (\"sno='\" &mno& \"'\") '用.Find方法查找指定科目 If
Adodc1.Recordset.EOF
Then
MsgBox
\"
无
此
学
号
!\"
&
Adodc1.Recordset.AbsolutePosition, , \"提示\" End Select End Sub
Private Sub Command2_Click() Adodc1.Recordset.Update End Sub 成绩添加代码:
Private Sub Command1_Click() Dim adc As String Adodc1.Recordset.AddNew
a: Text1 = InputBox(\"输入学生学号\添加成绩\") mm = Len(Text1) For i = 1 To mm abc = Mid(Text1, i, 1) If abc< \"0\" Or abc> \"9\" Then MsgBox \"输入格式不正确请重新输入\" GoTo a
25
商洛学院课程设计
End If Next i
b: Text2 = InputBox(\"输入课程号\添加成绩\") mm = Len(Text2) For i = 1 To mm abc = Mid(Text2, i, 1) If abc< \"0\" Or abc> \"9\" Then MsgBox \"输入格式不正确请重新输入\" GoTo b End If Next i
c: Text3 = InputBox(\"输入学生成绩\添加成绩\") mm = Len(Text3) For i = 1 To mm abc = Mid(Text3, i, 1) If abc< \"0\" Or abc> \"9\" Then MsgBox \"输入格式不正确请重新输入\" GoTo a End If Next i
resu = MsgBox(\"确认添加数据库??\确认添加\") If resu = vbOK Then Adodc1.Recordset.Update Else Text1 = \"\" Text2 = \"\" Text3 = \"\" End If End Sub
学生档案管理代码:
Private Sub Command1_Click(Index As Integer) Select Case Index Case 0
Adodc1.Recordset.MoveFirst ' 第一条
26
商洛学院课程设计
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(\"请输入学号\查找窗\") ' 将输入值存到变量内
Adodc1.Recordset.MoveFirst ' 移动记录指针到第一条记录上 Adodc1.Recordset.Find (\"sno='\" &mno& \"'\") '用.Find方法查找指定科目 If
Adodc1.Recordset.EOF
Then
MsgBox
\"
无
此
学
号
!\"
&
Adodc1.Recordset.AbsolutePosition, , \"提示\" End Select End Sub
Private Sub Command2_Click() Dim abcd As String Dim find1
a: If Option1.Value = Option2.Value Then MsgBox \"请选择查询条件!\" Exit Sub End If
If Text6.Text = \"\" Then MsgBox \"请输入查询条件\" Text1.SetFocus Exit Sub End If
If Option1.Value = True Then
Adodc1.Recordset.Find (\"sno='\" & Text6 & \" '\") If Adodc1.Recordset.EOF Then MsgBox \"没有该学生\" ElseIf Option2.Value = True Then
Adodc1.Recordset.Find (\"sname='\" & Text6 & \" '\")
27
商洛学院课程设计
If Adodc1.Recordset.EOF Then MsgBox \"没有该学生\" End If End Sub
Private Sub Command3_Click() If Option3.Value = True Then Adodc1.Recordset.Update Text1.Locked = True Text2.Locked = True Text3.Locked = True Text4.Locked = True Text5.Locked = True Else
Adodc1.Recordset.Delete Adodc1.Recordset.Update End If End Sub
Private Sub Option1_Click() Text6 = \"\"
Adodc1.Recordset.MoveFirst End Sub
Private Sub Option2_Click() Text6 = \"\"
Adodc1.Recordset.MoveFirst End Sub
Private Sub Option3_Click() Command3.Enabled = True Text1.Locked = False Text2.Locked = False Text3.Locked = False Text4.Locked = False Text5.Locked = False End Sub
Private Sub Option4_Click() Command3.Enabled = True End Sub
28
商洛学院课程设计
课程设计独创性声明: 学生签名: 指导教师评语: 课程设计成绩:指导教师签名: 教研室意见: 教研室主任签名: 29
因篇幅问题不能全部显示,请点此查看更多更全内容