VB程序设计课程设计说明书——学生信息管理系统_第1页
VB程序设计课程设计说明书——学生信息管理系统_第2页
VB程序设计课程设计说明书——学生信息管理系统_第3页
VB程序设计课程设计说明书——学生信息管理系统_第4页
VB程序设计课程设计说明书——学生信息管理系统_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、欢迎下载支持,谢谢!20102011学年第二学期08级毕业统考 VB程序设计统考作品VB程序设计课程设计说明书一学生信息管理系统专业:08计算机应用与技术班级:08 计应2班学 号: xxxxxxxxxxxxx 班姓名:xxx日期:2011-03-20第1章系统概述1 .系统概述本学生信息管理系统可以说是一个综合性的学校学生管理系统,这它集成 了学生学籍管理系统、学生成绩管理系统、学生档案管理系统、系统等多 种功能,因而具有较强的实用性和先进性。1.1 系统及需求分析1.1.1 系统需求通过调查,要求系统需要有以下功能:由于操作人员的计算机知识普遍较差,要求有良好的人机界面;由于该系统的使用对

2、象多,要求有较好的权限管理;原始数据修改简单方便,支持多条件修改方便的数据查询,支持多条件查询; 在相应的权限下,删除数据方便简单,数据稳定性好; 数据计算自动完成,尽量减少人工干预;1.1.2 可行性分析(1)对象运用可行性由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的 关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。 且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都 能满足数据库运行的要求。(2)社会与经济可行性利用学生信息管理系统实现了无纸化办公,提高效率的同时还保护了环 境。本来大量的计算、数据统计工作需要几天、甚至一个月完成的工

3、作, 可以在几个小时,最多几天内完成,大量节省了人力资本。学生信息管理 系统同时也给老师和学生带来了极大的方便。老师可以将课程安排,第一 时间录入到系统。学生也可以第一时间登录到该系统,查询自己本学期课 1欢迎下载支持,谢谢!程安排和考试方式,大大提高了时间成本。1.2 系统设计的背景本系统的设计是在Windows 2000文版操作系统环境下,使用 Visual Basic 6.0中文版开发成功的。数据库是 MIS中的重要支才I技术,在MIS开 发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较 多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应 考虑数据库应用的特

4、点及适用范围,本系统选用的数据库语言介绍如下:Visual Basic 语言Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高 级程序设计,可用于开发 Window环境下的种类应用程序。它简单易学、 效率高,且功能强大,可以与 Windows勺专业开发工具SD球目媲美,而且程 序开发人员不必具有C/C+®程基石在Visual Basic环境下,利用事件 驱动的编程机制、新颖易用的可视化设计工具,使用Window呐部的应用程序接口 (API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象 的链接与嵌入(OLE)、开放式数据访问(ODBC殍技术,可

5、以高效、快速地 开发出Window杯境下功能强大、图形界面丰富的应用软件系统。总的来说,Visual Basic 具有以下特点: 可视化编程:用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户 界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才 能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种 编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Basic提供了可视化设计工具,把Window界面设计的复杂性 封装” 起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求 的屏幕布局,用系统提供的工具,在屏幕上画出各种 部

6、件”,即图形对象, 并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序 设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率 面向对象的程序设计4.0版以后的Visual Basic支持面向对象的程序设计,但它与一般的 面向对象的程序设计语言(C+)不完全相同。在一般的面向对象程序设计 语言中,对象由程序代码和数据组成,是抽象的概念;而 Visual Basic则 是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个 对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对 象时,不必编写建立和描述每个对象的程序代码,而是

7、用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式 显示在界面上,都是可视的。结构化程序设计语言Visual Basic是在BASICS言的基础上发展起来的,具有高级程序设计语 言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具 有功能强大且使用灵活的调试器和编译器。Visual Basic是解释型语言,在输入代码的同时,解释系统将高级语言分 解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设 计Visual Basic 程序的过程中,随时可以运行

8、程序,而在整个程序设计 好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic 环境,直 接在Windows环境下运行 事件驱动编程机制Visual Basic通过事件来执行对象的操作。一个对象可能会产生多个 事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个 单击(CLICK)事件,而在产生该事件时 将执行一段程序,用来实现指定的操作。在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结 束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不 同的对象,由用户操作引发某个事件来驱动完成某种特定的功能

9、,或者由 事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员, 提高效率。访问数据库Visual Basic具有强大的数据库管理功能,利用数据控件和数据库管 理窗口,可以直接建立或处理 Microsoft Access格式的数据库,并提供了 强大的数据存储和检索功能。同时, Visual Basic还能直接编辑和访问其 他外部数据库,如dBASE FoxPro, Paradox等,这些数据库格式都可以用 Visual Basic编辑和处理。Visual Basic提供开放式数据连接,即ODBC能,可通过直接访问或 建立连接的方式使用并操作后台大型网络数据库,如 SQL Server

10、, Oracle 等。在应用程序中,可以使用结构化查询语言 SQ散据标准,直接访问服 务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库 访问的加锁机制和网络数据库的SQL勺编程技术,为单机上运行的数据库 提供了 SQIS络接口 ,以便在分布式环境中快速而有效地实现客户 /服务器 (client/server) 方案。动态数据交换(DDE)利用动态数据交换(Dynamic Data Exchange)技术,可以把一种应用 程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程 序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数 据。Visual Basic

11、提供了动态数据交换的编程技术,可以在应用程序中与 其他Window葩用程序建立动态数据交换,在不同的应用程序之间进行通 信。对象的链接与嵌入(OLE)对象的链接与嵌入(OLE)将每个应用程序都看做是一个对象 (object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合 式的文件。OL豉术是Microsoft公司对象技术的战略,它把多个应用程序 合为一体,将每个应用程序看做是一个对象进行链接和嵌入,是一种应用 程序一体化的技术。利用OL豉术,可以方便地建立复合式文档(compound document),这种

12、文档由来自多个不同应用程序的对象组成,文档中的每 个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的 操作。动态链接库(DLL)Visual Basic是一种高级程序设计语言,不具备低级语言的功能,对 访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将 C/C+域汇编语言编写的程序加入到 Visual Basic应用程序中,可以像调 用内部函数一样调用其他语言编写的函数。止匕外,通过动态链接库,还可 以调用Window啦用程序接口(API)函数,实现SDKT具有的功能。1.3 系统的功能简介本系统主要可以实现以下的管理功能:班级管理、学生档案管理、课程管 理、成绩管理等

13、等。1.3.1 项目规划学生信息管理系统是一个典型的数据库应用程序,由班级管理、学生档案 管理、课程管理、成绩管理等模块组成,特规划如下:学生成绩音理系统班 级 浏 IIJ? 见班 级 查 询档 案 查 询成绩添加学生档箱理.课程管理成靖管理添 加 班 皴1.3.2 系统管理模块(CTRL+O)该模块的主要任务是维护系统的正常运行和安全性设置,包括添加用户(快捷键:CTRL+A)重新登录(快捷键:CTRL+F1)1.3.3 班级管理模块(CTRL+P :该模块的功能是实现对全校班级的管理工作,包括:班级游览、班级添加、班级查询等,这三个功能模块各自独立,完成学校的全部班级的管理。1.3.4 学

14、生档案管理模块(CTRL+T :该模块的主要功能是实现对学生的个人信息的管理工作,包括档案添加、 档案浏览、档案查询等功能,从而方便学校管理部门对学校的基本情况的 快速查询和了解。1.3.5 课程管理模块(CTRL+R :该模块对各个班级的课程进行设置,并可在其中设置各门课程的教材 选用情况,方便了学校教材管理部门和教务处的教学管理人员的工作。 该模块包括基本课程设计和班级课程设置两个模块。1.3.6 成绩管理模块(CTRL+F :学校的成绩管理工作是检验学生学习情况的一个主要手段,本模块包括考 试类型设置,共有期中考试和期未考试两种类型,还设置了成绩添加、成 绩游览功能模块。1.4 系统开发

15、的目标出于本系统是学校学生管理的一个综合性的系统,本系统的设计目标将最 终定位于完成以上所述的系统主要业务的基本模型上。67第2章系统分析暨陈界面输入用户登陆信息身份验证管理 员级 管理 界面学在用尸查询罪而2.1 系统流程在用户启动应用程序时,首先进入登陆界面进行用户的身份验证。 如 果用户通过身份验证,系统将根据用户的不同级别分别引导用户进入不同 的界面,超级管理员和老师可进入各自的管理界面进行操作和查询,而学生用户则只能通过输入姓名、学号来查询自己的信息。2.2 数据存储分析:实体联系图1、数据模型设计。首先来做出学生成绩管理系统的 E-R图,分析这个问题 的实体,从系统分析可以知道,学

16、生的成绩是由任课教师按照课程给出的, 学生、课程、教师组成了这个系统的三个实体。2、再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学 生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学 习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体 学 生”和成绩”共有的属性,应填在二者的联系 学习”边。因为成绩既不是学 生独有的,也不是课程独有的;学生甲70分”或 英语70分”是不完全的,说 学生甲英语70分”才是正确的,因为70分是学生甲和英语课二者共有的。 这个E-R图可画成下图。学生学习 学生成绩管

17、理系统中学生与课程的E-R图教师与课程这两个实体之间,是一对多联系;一位教师可以都多门课程, 而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教 师教,但对某个固定的学生来说只能有一位教师)。其E-R图,如下所示。教师课程课程教学 教师与课程的E-R图组合到一起,得到最后的E-R图,有了 E-R图,就可以设计数据库。下图为最后的e-r图2第3章系统设计3.1软件模块结构设计3. 1. 1系统方案确定通过对系统的调研与分析,系统主要应完成的功能有:班级管理、学生成 绩管理、课程管理、成绩管理、系统管理等功能。3. 1. 2软件结构设计本系统在执行时,先根据不同的操作人员的需要来进行

18、相应的模块,然后 可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于 一个事务型管理系统。接受数据处理中心1 1 1F班档课成级案程女管4I管4I理理理理3. 2. 1 Acess数据库简介数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是 无结构的)是一串文字或数字流。数据库中的数据可以是文字、图象、声 音等。Microsoft Access是一种关系式数据库,关系式数据库由一系列表组成, 表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个 字段有一个字段名,字段名在一个表中不能重复。表与表之间可以建立关 系(或称关联,连接),以便查询相关联的信息。

19、Access数据库以文件形 式保存,文件的扩展名是MDB0Access 2000的6种对象Access 2000数据库由六种对象组成,它们是表、查询、窗体、报表、 宏和模块。表(Table)表是数据库的基本对象,是创建其他 5种对象的基础。 表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据 表。查询(Query)查询可以按索引快速查找到需要的记录,按要求筛 选记录并能连接若干个表的字段组成新表。窗体(Form)窗体提供了一种方便的浏览、输入及更改数据的窗 口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。报表(Report)报表的功能是将数据库中的数据分类汇总,然后打 印

20、出来,以便分析。宏(Macro)宏相当于DO竽的批处理,用来自动执行一系列操作。 Access列出了一些常用的操作供用户选择,使用起来十分方便。模块(Module)模块的功能与宏类似,但它定义的操作比宏更精细 和复杂,用户可以根据自己的需要编写程序。模块使用Visual Basic编程。与Access以前的版本比较,Access 2000新增了许多功能,字段类型 增加了 OLE寸象和超级链接,特别是与Internet的融合,在数据库中可以 直接链接到指定的Web5面或网络文件,也可以把WelR面上的表格导入到 数据库。Access 2000可以方便地利用各种数据源,包括dBASE, FoxBa

21、se,FoxPro,Excel,Word 等。Access 2000增力口了数据库访问的安全 机制,可对表一级设置访问许可权。Access 2000还可以方便地利用FoxPro 数据库、Excel电子表格的数据,还可以和 Word混合使用,打印通用信函 或信封。本次数据库采用了 Microsoft推出的Access数据库,能够快速方便的 和Office的其他套件综合使用。由于Access具有显著的简易性和有效性, 大量的桌面数据库系统都采用Access作为后台数据库。使用Access的好处 还在于,如果你的系统扩展到Client/Server模式的时候,可以使用 Microsoft的数据库服务

22、器软件SQL Server,此时,程序只需要简单的修 改一下链接(ADOJ数据源)就可以,这样,为程序的平滑扩展提供了非 常有力的条件。3.2.2建立数据库使用VB6.0所提供的“可视化数据管理器”建立数据库以及其中的数 据表。a.在VB集成环境中启动数据管理器:单击“外接程序”菜单下的“可视化数据管理器”命令,打开可视化数据管理器“ VisData”窗口。b.选择“文件”菜单中的“新建”项,在“新建”子菜单中,选择 “Microsoft Access ”子菜单中“ Version 7.0 MDB ”,在创建数据库对框中选择保存数据库的路径和库文件名(XS)后保存。本系统中所涉及到的主要实体共

23、有七个数据表:allkecheng表:课程名称,教材cj表:学号,学期,类型,课程名称,分数class表:年级,班级,教室,年制,专业,班主任,备注 classkecheng表:年级,专业,年制,学期,课程名称kaoshileixing 表:类型use表:username,password,admin,readonly,qx1,qx2,qx3,qx4xj表:学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间,备注表名字段名称宽度小数 位数Allkecheng 表课程名称文本20教材文本30Cj表学号文本10学期文本50文本16课程名称文本20分数单精度型数 字自动2Cla

24、ss表年级文本16班级文本20教室文本5年制文本8专业文本16班主任文本8备注备注classkecheng年级文本16专业文本12年制文本8学期文本50课程名称文本20kaoshileixing文本10User表username乂幺20password文本20Admin文本2readonly乂幺2Qx1文本2Qx2文本2Qx3文本2Qx4文本2Xj表学号文本9姓名文本8性别文本2班级文本10出生年月日期/时间家庭住址文本30邮政编码长整型联系电话长整型入学时间日期/时间备注备注4第4章系统的功能本部分主要内容为本系统的运行界面以及主要界面的源代码。4. 1系统登陆界面:本界面的主要功能是为了对

25、系统进行安全性管理,本系统的用户名和 密码保存在US法中,本系统根据不同的用户而设置了不同的权限,可以 用909;909为用户名和密码来登陆本系统。具体设置是:选择“工程”里的“添加窗体”,选择“登录对话框”,保存为“frmdenlu ” 并且填写代码,完成与数据库的链接。对窗体的属性进行设置,登录界面 添加“某某学校”字样。在“工程”菜单中选择“添加窗体”,打开“添加窗体”对话框,选 择添加“窗体”。并将新窗体保存为“ denglu”。并且使用菜单编辑器,按 照功能流程图的位置制作主页面的下拉菜单。完成后设置主页面属性,将“Caption”命名为“学生信息管理系统”;通过“Picture ”

26、属性,对主界面的背景进行设置;调整主界面大小,并设置“WindowState”属性为“2-Mixmized”,并将页面调整到屏幕的中央。添加代码,完善学生信 息管理系统主页面的代码设计。Private Sub Command1_Click()Dim mrc As ADODB.Recordsettxtsql = "select username from use where username='" &Trim(Text1.Text) & "”Set mrc = ExecuteSQL(txtsql)If mrc.EOF = True ThenM

27、sgBox " 用户名错误! ", vbExclamation + vbOKOnly," 警告"Text1.SetFocusText1.SelStart = 0Text1.SelLength = Len(Text1.Text)Exit Sub0End Ifusername = mrc.Fields(0)txtsql2 = "select username from use where password+" &Trim(Text2.Text) & ”"Set mrc = ExecuteSQL(txtsql2)I

28、f mrc.EOF = True ThenMsgBox " 密码错误! ", vbExclamation + vbOKOnly," 警告"Text2.SetFocusText2.SelStart = 0Text2.SelLength = Len(Text2.Text)Exit SubEnd Iftxtsql = "select username from use where username='" & Trim(Text1.Text) & "'and password" &

29、Trim(Text2.Text) & "”' Set mrc = ExecuteSQL(txtsql)If mrc.EOF = True ThenMsgBox "用户名称和密码不匹配!", vbExclamation + vbOKOnly,告"Exit SubEnd IfMDIForm1.Showfrmcpass.Text1.Text = Text1.TextUnload MeEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()End SubP

30、rivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenText2.SetFocusEnd IfEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenCommand1.SetFocusEnd IfEnd Sub4.2系统管理模块设计“系统管理”模块分为“添加新用户”和“退出”两个子模块14-权限髓定交码:r系统管理r班纵与学生梢案著理r学生交费管理r课程与成绩管理新帽用尸新用户名:密码:用户类别r管理员r老师学生确定 |在

31、“工程”菜单中选择“添加窗体”,打开“添加窗体”对话框,选 择添加“窗体”。并将新窗体保存为“ frmuser1 ”。进行代码设计,代码如下:Private Sub Command1_Click()If Trim(Text1(0).Text) = "" ThenMsgBox "用户名不能为空! ", vbExclamation + vbOKOnly,” 警告 Text1(0).SetFocusExit SubEnd IfIf Trim(Text1(1).Text)=""ThenMsgBox "密码不能为空!", v

32、bExclamation + vbOKOnly,”Text1(1).SetFocusExit SubEnd IfIf Trim(Text1(2).Text)=""ThenMsgBox "确认密码不能为空! ", vbExclamation + vbOKOnly,"Text1(2).SetFocusExit SubEnd IfIf Trim(Text1(1).Text) <> Trim(Text1(2).Text) ThenMsgBox "确认密码不正确! ", vbExclamation + vbOKOnly,&

33、quot;Text1(2).SetFocusExit SubEnd IfDim aa As Integeraa = 0If Option1(2).Value = True ThenFor i = 0 To 2If Check1(i).Value = 1 Thenaa = 1Exit ForEnd IfNext iIf aa = 0 ThenMsgBox "普通用户至少要有一项权限!", vbExclamation + vbOKOnly,吕口Exit SubEnd IfEnd IfDim mrc As ADODB.Recordsettxtsql = "select

34、* from use where username='" & Trim(Text1(0).Text)&皿Set mrc = ExecuteSQL(txtsql)If mrc.EOF = False ThenMsgBox " 已存在该用户! ", vbExclamation + vbOKOnly," 警告"Text1(0).SetFocusText1(0).SelStart = 0Text1(0).SelLength = Len(Text1(0).Text)Exit SubEnd Iftxtsql = "sele

35、ct * from use"Set mrc = ExecuteSQL(txtsql)mrc.AddNewmrc.Fields(O) = Trim(Text1(0).Text)mrc.Fields(l) = Trim(Text1(1).Text)For i = 0 To 2If Option1(i).Value = True ThenSelect Case iCase 0mrc.Fields("admin") = "y"Case 1mrc.Fields("readonly") = "y"Case 2For

36、j = 0 To 2If Check1(j).Value = 1 ThenSelect Case jCase 0mrc.Fields("qx1") = "y"Case 1mrc.Fields("qx2") = "y"Case 2mrc.Fields("qx3") = "y"End SelectEnd IfNext jEnd SelectEnd IfNext imrc.UpdateMsgBox " 用户添加成功! ", vbExclamation + vbO

37、KOnly,Text1(0).Text =""Text1(1).Text =""Text1(2).Text =""End SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Option1(2).Value = TrueEnd SubPrivate Sub Form_Resize()Text1(0).SetFocusEnd SubPrivate Sub Option1_Click(Index As Integer)If Index <>

38、 2 ThenFor i = 0 To 2Check1(i).Enabled = FalseNext iElseFori = 0 To 2Check1(i).Enabled = TrueNext iEnd IfEnd Sub通过代码设计,实现了对三种不同权限的新用户的添加, 管理员具有 所有得权限,老师在管理员的授权下可以选择系统管理、 课程管理与档案 管理、课程管理的一种、两种或者全部权限,学生则只有浏览的功能。4.3 班级管理在完成了系统的登录页面设计、系统主页面系统设计后,接下来在总 体设计思想的指导下完成系统的其余功能模块的设计。这些子模块作为学生信息管理系统的组成部分,在很大程度上增

39、强了所开发系统的整 体功能。以下主要讲述班级管理这个功能模块的具体设计和实现。班级管理的主要功能是对各院系的班级的基本信息进行管理,这些信息包括年级、班级、教室、年制、专业、班主任、备注等。相应的管理操 作包括:添加记录、修改记录、删除记录、查询记录以及打印记录。执行 查询,先输入要进行操作的班级,确定后再进行对应的操作。添加操作可 直接添加新的班级记录。4.3.1 添加班级模块设计在“工程”菜单中选择“添加窗体”,打开“添加窗体”对话框,选 择添加“窗体”。并将新窗体保存为“formclassl ”。添加代码并且进行属 性设置。将“ Caption ”改为“添加班级”,并且调整窗口大小。“添

40、加系统”模块的界面如下图所示:4.3.2 浏览班级模块设计在“工程”菜单中选择“添加窗体”,打开“添加窗体”对话框,选 择添加“窗体”。并将新窗体保存为“formclass2 ”。添加代码并且进行属 性设置。将“ Caption ”改为“浏览班级”,并且调整窗口大小。“添加系统”模块的界面如下图所示:阕国露斑蜜窈;查找修改删除打印浏览数据2002l+lpiiI4-1Si1+1"200320042005通过设计的浏览班级模块,可以根据年级,对本校的各班级信息进行 总体浏览。并且根据需要,对班级设置进行修改,删除,打印。4.3.3 班级查询模块设计在“工程”菜单中选择“添加窗体”,打开“

41、添加窗体”对话框,选 择添加“窗体”。并将新窗体保存为“ formclass3 "。进行属性设置。将 “Caption”改为“班级查询”,并且调整窗口大小。通过设计,此模块可 以通过年级、班级、专业对班级设计查询。“添加系统”模块的界面如下图所示:进行代码设计,代码如下:Private Sub Command1_Click()txtsql =""If Text1(0).Text <> "" ThenIf txtsql = "" Thentxtsql =" 年级='"& Trim

42、(Text1(0).Text) & "",Elsetxtsql = txtsql & "and年级='"& Trim(Text1(0).Text) & ""End IfEnd IfIf Text1(1).Text <> "" ThenIf txtsql = "" Thentxtsql =" 班级='"& Trim(Text1(1).Text) & ”"Elsetxtsql = txtsql

43、& "and班级="'& Trim(Text1(1).Text) & ”"End IfEnd IfIf Text1(2).Text <> "" Thenaa = 1If txtsql = "" Thentxtsql =" 专业='"& Trim(Text1(2).Text) & ”"Elsetxtsql = txtsql & "and专业='"& Trim(Text1(2).Text)

44、 & ”"End IfEnd IfIf txtsql = "" Thenss = MsgBox("你至少要输入一个条件以上才能查询!"一" 警告")Text1(0).SetFocusExit SubEnd Iftxtsql = "select * from class where " & txtsqlDim mrc As ADODB.RecordsetSet mrc = ExecuteSQL(txtsql)If mrc.EOF = True Thenzzz = MsgBox("对

45、不起,没有此班级的档案记录!", vbOKOnly," 查询")Formclass3.ZOrder (0)Formclass3.Text1(0).SetFocusExit SubEnd IfFormclass2.printstr = txtsqlclassfind = TrueFormclass2.ShowFormclass2.classshowtitleFormclass2.classshowdataFormclass2.Caption ="班级设置查询结果"Formclass2.ZOrder (0)End SubPrivate Sub Fo

46、rm_Unload(Cancel As Integer)classfind = FalseEnd Sub必须同时输入一个条件,否则将弹出警告对话框“你至少要输入一个 以上条件以上才能查询!”用户可以同时设定一个、两个或者三个条件进 行查询。4.4 学生档案管理学生档案管理是对全校学生的基本资料进行查询、修改、添加、删除、打印操作。执行查询操作时,可以根据学号、姓名、班级、姓名关键字进 行查询。可以对查找到的信息进行修改和删除。添加操作可直接添加相应的学生基本情况。学生信息包括学号、姓名、性别、班级、家庭住址、出 生年月、联系电话、入学时间、备注等信息。4.4.1 档案添加模块设计首先明确档案添

47、加的功能是添加对入学的学生进行入学档案登记,具中包括姓名、性别、班级、联系电话等信息。在“工程”菜单中选择“添 加窗体”,打开“添加窗体”对话框,选择添加“窗体”。并将新窗体保存 为“forml"。进行属性设置,并且编写代码,完成的页面如下图所示:Private Sub Command1_Click()Forj = 0 To 7不能为空! ",vbExclamationIf Text1(j) = "" Thenss = MsgBox(Label1(j).Caption &+ vbOKOnly,"警告")Text1(j).Set

48、FocusText1(j).SelStart = 0Text1(j).SelLength = Len(Text1(j).Text)Exit SubEnd IfNextDim mrc As ADODB.Recordsettxtsqll = "select * from xj where学号="'& Trim(Text1(0).Text) &Set mrc = ExecuteSQL(txtsqll)If modi = False ThenIf mrc.EOF = False Thensss = MsgBox("已经存在该学号的记录,学号不能重复

49、! vbExclamation + vbOKOnly," 警告")Text1(0).SetFocusText1(0).SelStart = 0Text1(0).SelLength = Len(Text1(0).Text) mrc.CloseExit SubEnd IfEnd IfIf Not IsDate(Text1(2).Text) Then '判断是否日期格式ssss = MsgBox("应输入日期 mm-dd-yy", vbInformationvbOKOnly,"警告")Text1(2).SetFocusText1(2

50、).SelStart = 0Text1(2).SelLength = Len(Text1(2).Text)Exit SubEnd If If Not IsDate(Text1(6).Text) Thenssss = MsgBox("应输入日期 mm-dd-yy", vbInformation + vbOKOnly,"警告")Text1(6).SetFocus Text1(6).SelStart = 0 Text1(6).SelLength = Len(Text1(6).Text) Exit SubEnd If If modi = True Then tx

51、tsql1 = "update xj set学号="'& Trim(Text1(0).Text) & "',姓名='" & Trim(Text1(1).Text) & "',性别="& Trim(Combo1(0).Text) & "',班级='"& Trim(Combo1(1).Text) & "', 出生年月二#" &Trim(Text1(2).Text) &

52、; "#,家庭住址="'& Trim(Text1(3).Text) & "', 邮政编码='"& Trim(Text1(4).Text) & "',联系电话="& Trim(Text1(5).Text) & "',入学时间=#" & Trim(Text1(6).Text) & "# , 备注='"& Trim(Text1(7).Text) & "'wh

53、ere 学号='"&Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1) & 皿 Set mrc = ExecuteSQL(txtsql1)txtsql1 = "update cj set 学号="'& Trim(Text1(0).Text)& "' where学号='"& Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1) & "”' Set mrc = Execute

54、SQL(txtsqll)txtsqll = "update jf set 学号="'& Trim(Text1(0).Text)& "' where学号='"& Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1) & 皿 'Set mrc = ExecuteSQL(txtsqll) Unload MeExit Sub End Iftxtsqll = "select * from xj "Set mrc = ExecuteSQL(txt

55、sqll)mrc.AddNewFor i = 4 To 9mrc.Fields(i) = Text1(i - 2).TextNext imrc.Fields(0) = Trim(Text1(0).Text)mrc.Fields(1) = Trim(Text1(1).Text)mrc.Fields(2) = Trim(Combo1(0).Text)mrc.Fields(3) = Trim(Combo1(1).Text)mrc.UpdateSet mrc = NothingForj = 0 To 7Text1(j)=""NextEnd Sub4.4.2档案浏览模块设计类似可以进

56、行档案浏览模块设计,完成之后的设计见面如下图所示:其代码如下:Public Sub showdata()Dim j As IntegerDim i As IntegerDim mrc As ADODB.RecordsetSet mrc = New ADODB.RecordsetSet mrc = ExecuteSQL(txtsql)If mrc.EOF = False Thenmrc.MoveFirstWith MSF1.Rows = 50.Row = 1Do While Not mrc.EOF.Rows = .Rows + 1For i = 1 To mrc.Fields.Count.Tex

57、tMatrix(.Row, i) = mrc.Fields(i - 1)Next i.Row = .Row + 1mrc.MoveNextLoopEnd WithElseIf find = True ThenForm3.HideForm4.Showzzz = MsgBox("对不起,没有此学生的档案记录!", vbOKOnly,” 查询")Form4.ZOrder (0)Form4.Text1(0).SetFocus End IfEnd IfSet mrc = NothingEnd SubPublic Sub tree()TreeViewl.Nodes.Clear

58、Dim nodex As NodeDim mrc As ADODB.RecordsetDim mrc1 As ADODB.RecordsetDim str As StringDim a As Stringa ="年级"'TreeView1.LineStyle = tvwRootLinesstr = "select distinct 年级 from class order by 年级”Set mrc = ExecuteSQL(str)str = "select distinct 年级,班级 from class order by 年级,班级 Set

59、 mrcl = ExecuteSQL(str)mrc.MoveFirstDo Until mrc.EOF mrcl.MoveFirstSet nodex = TreeView1.Nodes.Add(, , a, mrc.Fields(O), 1, 1)Do While Not mrcl.EOFIf mrcl.Fields(O) = mrc.Fields(O) ThenSet nodex = TreeView1.Nodes.Add(a, tvwChild, , mrcl.Fields(l), 2, 2)End Ifmrcl.MoveNextLoopa = a & "1"mrc.MoveNextLoopmrcl.Closemrc.CloseSet mrc = NothingSet mrcl = NothingEnd SubPrivate SubToolbaU_ButtonCl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论