版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生选课管理信息系统课程设计与实现学生选课管理系统摘 要随着社会的开展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,为此,我们开发了学生选课管理系统。本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析、功能模块划分、数据库模式分析等,并由此设计了后台数据库以及前台应用程序。文中首先对课题背景,数据库根底理论和Access进行了简单的讨论;接着,对系统前台开发工具PowerBuilder9.0,学生选课管理系统进行了详细分析,划分了具体的功能模块;最后,给出了学生选课系统应用程序的设计过程,以及每个功能模块的核心代码。系统可以实现学生选课的一些重
2、要功能,如:课程的添加、删除,信息查询、选课、生成课表,以及学生选课管理人员、用户个人信息的维护等。关键词 PowerBuilder9.0;Microsoft Office Access目录 TOC o 1-3 h z u HYPERLINK l _Toc262046259 摘 要 PAGEREF _Toc262046259 h 2 HYPERLINK l _Toc262046260 目录 PAGEREF _Toc262046260 h 3 HYPERLINK l _Toc262046261 1 绪论 PAGEREF _Toc262046261 h 1 HYPERLINK l _Toc2620
3、46262 1.1 课题的背景 PAGEREF _Toc262046262 h 1 HYPERLINK l _Toc262046263 1.2 课题的设计 PAGEREF _Toc262046263 h 2 HYPERLINK l _Toc262046264 1.3 本文的结构 PAGEREF _Toc262046264 h 2 HYPERLINK l _Toc262046265 2 相关知识根底 PAGEREF _Toc262046265 h 3 HYPERLINK l _Toc262046266 2.1 Access的根底知识 PAGEREF _Toc262046266 h 3 HYPER
4、LINK l _Toc262046267 2.1.1 Access的开展 PAGEREF _Toc262046267 h 3 HYPERLINK l _Toc262046268 2.1.2 Access的内部结构 PAGEREF _Toc262046268 h 3 HYPERLINK l _Toc262046269 2.1.3 Access的特性 PAGEREF _Toc262046269 h 4 HYPERLINK l _Toc262046271 2.1.4 开发工具简介 PAGEREF _Toc262046271 h 5 HYPERLINK l _Toc262046272 2.2 Acce
5、ss概述 PAGEREF _Toc262046272 h 7 HYPERLINK l _Toc262046273 用途 PAGEREF _Toc262046273 h 7 HYPERLINK l _Toc262046274 3 系统分析 PAGEREF _Toc262046274 h 8 HYPERLINK l _Toc262046275 3.1 系统分析 PAGEREF _Toc262046275 h 8 HYPERLINK l _Toc262046276 3.1.1 用户要求 PAGEREF _Toc262046276 h 8 HYPERLINK l _Toc262046277 3.1.2
6、 业务流程分析 PAGEREF _Toc262046277 h 8 HYPERLINK l _Toc262046278 3.1.3 系统实体E-R图分析 PAGEREF _Toc262046278 h 9 HYPERLINK l _Toc262046283 本章小结 PAGEREF _Toc262046283 h 11 HYPERLINK l _Toc262046284 4 系统实现 PAGEREF _Toc262046284 h 11 HYPERLINK l _Toc262046285 4.1 创立一个工作空间和应用程序对象 PAGEREF _Toc262046285 h 11 HYPERL
7、INK l _Toc262046298 创立数据库表 PAGEREF _Toc262046298 h 12 HYPERLINK l _Toc262046299 创立主窗口 PAGEREF _Toc262046299 h 13 HYPERLINK l _Toc262046300 4.4 创立主菜单 PAGEREF _Toc262046300 h 14 HYPERLINK l _Toc262046302 系统管理模块的实现 PAGEREF _Toc262046302 h 15 HYPERLINK l _Toc262046303 创立按学生选课窗口 PAGEREF _Toc262046303 h 1
8、5 HYPERLINK l _Toc262046329 4.5.2 创立按课程选课窗口 PAGEREF _Toc262046329 h 19 HYPERLINK l _Toc262046333 4.5.3 创立课程管理增加窗口 PAGEREF _Toc262046333 h 19 HYPERLINK l _Toc262046380 4.5.4 创立课程删除窗口 PAGEREF _Toc262046380 h 22 HYPERLINK l _Toc262046442 4.5.5 创立课程修改窗口 PAGEREF _Toc262046442 h 25 HYPERLINK l _Toc2620464
9、46 4.5.6 创立学生增加窗口 PAGEREF _Toc262046446 h 25 HYPERLINK l _Toc262046469 4.5.7 修改密码窗口的设计 PAGEREF _Toc262046469 h 28 HYPERLINK l _Toc262046500 4.5.8 帮助窗口 PAGEREF _Toc262046500 h 30 HYPERLINK l _Toc262046513 4.5.9 创立登录窗口 PAGEREF _Toc262046513 h 31 HYPERLINK l _Toc262046514 5 结束语 PAGEREF _Toc262046514 h
10、33 HYPERLINK l _Toc262046515 6致谢 PAGEREF _Toc262046515 h 35 HYPERLINK l _Toc262046517 7参考文献 PAGEREF _Toc262046517 h 361 绪论数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行之有效的信息系统也成为一个企业或组织生存和开展的重要条件。因此,作为信息系统核心和根底的数据库技术得到越来越广泛的应用。从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理,从一般企业管理到计算机辅助设计与制
11、造 CAD/CAM、计算机集成制造系统CIMS、办公信息系统 OIS等,越来越多新的应用领域采用数据库存储和处理他们的信息资源。1.1 课题的背景当今时代是飞速开展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最到好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其平安性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。学生选课作为一种信息资源的集散地,包含很多的信息数据的管理。 由于
12、数据繁多,容易丧失,且不易查找。总的来说,缺乏系统,标准的信息管理手段。尽管有的学校有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比拟突出,这就是管理信息系统的开发根本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。造成了时间上的浪费基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作标准化、系统化、程序化,防止学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。1.2 课题的设计本文就学生选课系统的设计与制作展开分析。学生选课系统主要应用数据库技术开发,先从数据库的根本知识开始介绍, 数据库的根本概念、数据库的
13、开展、数据库的结构,还介绍了开发工具PowerBuilder9.0和Access语言。我主要是应用PowerBuilder9.0为前端开发工具,利用Access语言实现数据查询。设计系统时,先从系统的数据流程开始分析,设计系统的业务流程图、系统的数据流程图、系统的E-R图。根据开题报告的设计要求开始进入系统的总体设计,接着制定系统的设计思想,分析系统的功能并设计系统的功能模块,这些都是系统制作前的准备工作;准备工作完成后,开始系统数据库的建立,主要有各个功能窗口的设计,将设计好的窗口集中到主菜单上,通过用户的用户名和密码的登录可以进入到主窗口,这样就完成系统的制作。最后,对系统进行调试,性能分
14、析。1.3 本文的结构第2章,简单介绍了相关的根底知识如:Access的开展、Access的内部结构、Access的特性、开发工具等,为系统的设计进行知识储藏。第3章,详细介绍了系统分析与设计。第4章,介绍了系统的制作过程,设计制作窗口等。2 相关知识根底2.1 Access的根底知识 Access的开展Access的最初名称是Cirrus。它开发于Visual Basic之前,当时的窗口引擎称作Ruby。比尔盖茨看过Ruby的原型后决定把这个基于Basic语言的组件作为一个独立的可扩展应用程序与Access联合开发。这个工程称作Thunder。这两个工程互相独立的被作为底层的窗口引擎开发并且
15、互不兼容。 然而,在VBA出现后它们被合并在一起。图2-1 数据库应用的架构 Access的内部结构Access中所使用的对象包括表、查询、报表、窗体、宏、模块和网页。这些对象都存放在同一个数据库文件.mdb文件中。表是数据库的核心与根底,它存放着数据库中的全部数据信息,以实现用户的某一特定需要,例如查找、计算统计、打印、编辑修改等。在表内还可以定义索引可以是一个或多个当表内存放大量数据时可以加速数据的查找。查询是Access数据库中一个十分重要的对象,它用于在一个或多个表内查找某些特定的数据,完成数据的检索、定位和计算的功能,供用户查看。窗体可以提供一种良好的用户操作界面,通过它可以直接或间
16、接调用宏或模块,并执行查询、打印、预览、计算等功能。报表是以打印的格式表现数据的一种有效方式,报表的主要数据来自数据库的表或查询。Web页是Access 2000提供的新功能,它使得Access与Internet紧密结合起来。使用该对象,用户可以方便地制作出各种Web页。宏是假设干个操作的组合,当数据库中有大量重复性的工作需要处理时,使用宏是最正确的选择。模块是Access中实现数据库复杂管理功能的有效工具,它由Visual Basic编制的过程和函数组成。在一般情况下,用户不需要创立模块,除非是要建立应用程序来完成宏无法实现的复杂功能。2.1.3 Access的特性一好处进入从程序员视角在它
17、的有关兼容性有SQL-质问可能被观看并且作为SQL语句编辑,并且SQL语句直接在巨视和VBA模里可以被使用操作进入桌子。用户可能混合并且使用两个VBA并且宏编程形式和逻辑既没提供面向对象的可能性。 导入导出报表的生成程序,当时有能力和到这项任务的复杂报告创造,没有另一受欢送数据库报表程序的生成程序充满特色和强有力-水晶报告。MSDE(微软公司SQL效劳器桌面发动机)2000,袖珍版本的MSSQL效劳器2000,被包括开发版的办公室XP并且被用于进入可能作为除之外的另一种选择 HYPERLINK :/baike.baidu /view/1169484.htm t _blank JET数据库引擎。
18、(尽快的*版本的MSDE和微软公司交换效劳器实际上使用这台喷气发动机处理巨大大量数据并且安置一“赝品在它之上的那些应用的应用层。大约这事实的缺乏知识因进入/喷口家庭的软件产品而为不该受不敬做奉献,特别是关于大工程。)进入分割和粘贴功能性能使它有用工具在其他数据库之间连结(例如,在数据或者数据库变换期间的Oracle和微软公司SQL效劳器)。进入与给与窗子和其他平台应用一起的积分的各种各样进口和退场门特征一起来,一经请求从应用的里面或者手工由用户其中几可以被执行。例如非常紧密SNP完全格式化的为分享的形式与没有全部的进入软件的人们报告。它也能容易被升级到微软公司SQL效劳器。与一般的RDBMS完
19、全不同,它缺乏数据库触发和预存程序。自从MS Access 2000 (Jet 4.0),开发人员可以在查询中设定参数,这跟预存程序很相似的,但这些“预存程序只能处理一个程序当资料表内数据发生变化时,它确实允许形式包含被引发的代码,使用是普通的透过查询和其他技术在进入营运储存的程序在方面RDBMS支援这些的。进入可提供的编程语言,当时在另一个内产品Microsoft Office家具,微软公司应用的Visual Basic。两个数据库进入讯息库COM组成局部被提供:这笔遗产数据存取物体(DAO),用进入和新只可提供ActiveX数据对象(忙乱)。MicrosoftAccess容易被应用于小的工
20、程,但是如果设计的不好对大工程是无用的。全部数据库质问,形式和报告被储存在数据库里,并且与相关的模型的理想协调,没有与他们做一个身体上组织的阶层的可能性。一种设计技术是把进入应用在数据和方案之间进行分发。一数据库应该只包含桌子和关系,当另一个将有全部方案时,形式,报告和质问和对第一个数据库桌子的连接。令人遗憾,当连结时,进入允许没有有关的道路,因此那些开展环境作为这种生产环境有相同的道路应该(虽然你写你们自己的能动态连接程序常规在里VBA那搜出能一定反面结束档案以透过这个目录树搜寻,如果它发现这条电流通路它不能)。这种技术也允许开发者在不同的档案中分申请,因此一些架构是可能的。 PPowerB
21、Sybase公司2003年推出的新一代4GL Plus数据库开发工具,它不仅继承了以往版本的各种先进技术,而且适应目前开放试软件的开展潮流,在快速集成开发环境中增加了构建Web Service、JSP Web、EJB的功能,满足了在4GL RAD环境中创立完整应用和应用组件的需求,并使企业应用可以平滑过度到基于浏览器和Web的应用模式下。同时,PowerB新版本增色不少。完整的应用系统有工作空间、目标、应用对象。窗口上的菜单对象。数据窗口对象和控件对象,以及这些对象的事件处理程序构成。 (1)工作空间和目标在以前的版本中,程序员一次只能开发一个应用程序,这样使得应用程序无法取得多个可用的组件信
22、息,因此在构件复杂应用时会大大增加难度。PowerBuilder9.0提供了Workspace功能,这让开发人员同时在多个应用或组件上进行开发,同时PowerBuilder用Target来描述加到Workspace中的应用或组件。11 PowerBuilder中存在三类Target是:Window 客户、EAServer组件和Web站点。在PowerBuilder中,只有翻开Workspace才能更有效地工作,开发者可以在Workspace中定义一个新的Target或者参加一个已经存在的Target。因此,Workspace 已经变成了PowerBuilder中所有活动的中心。 (2)窗口、控
23、件、事件和程序在PowerBuilder中,窗口(Window)是主要的用户界面,软件开发人员往往把各种控制功能(如录入、查询、打印、统计等)做成按扭或其它控件放在窗口上有用户选择。应用对象、窗口对象、菜单对象,窗口上的数据窗口控件和其他控件对象都对应着假设干个可能发生的事件12-13,如应用对象和窗口对象上有Open (翻开),Close(关闭)等事件,菜单项上有Clicked(鼠标左键单击或按回车键)等事件,窗口上的控件有Clicked、Double Clicked(用鼠标左键双击)Getfocus(得到焦点),Edit Changed(数据被修改)等事件14。PowerBuilder的程
24、序是嵌套在事件中的,也就是说由事件驱动的,一旦用户选定了控件也就触发了某个事件。软件开发人员只需为各个控件的事件编写事件处理程序,指定该事件被触发时要进行的处理,应用系统就这样构造出来了。事件处理程序用PowerBuilder的专用语言PowerScript语言编写。PowerScript语言是一种高水准。面向对象的语言,提供了丰富的内置函数供软件开发人员使用。事件处理程序有PowerScript语句和函数组成,来响应被触发的事件并做相应的处理。例如,菜单项上有Clicked事件此事件的处理程序可能是翻开另一个窗口,用户用鼠标左键单击此菜单时,Clicked事件被触发,指定的窗口被翻开。又如窗
25、口上有一个数据窗口和一些按扭,按扭上的文字为“录入、“删除、“存盘等,这些按扭的功能分别为数据窗口中插入一行,删除一行,将结果修改存盘,我们只需为这些按扭的Clicked事件编写相应的程序完成这些功能。 (3)函数函数是PowerScript语言的重要组成局部,PowerBuilder为软件开发人员提供了近800个内置函数15-16,主要用于完成以下工作:访问和操作数据,操纵对像的数字或文本,进行计算,字符串处理,数据类型转换,处理日期和时间,文本文件的输入和输出,生成商务图形,打印数据,与其他窗口的数据通信,处理邮件,Web应用,分布式应用等。此外,软件开发人员还可以通过建立用户自定义函数来
26、满足某个应用系统的特殊要求。需要时还可调用Windows的SDK函数和外部DLL函数。2.2 Access概述Assess能够存取 Access/Jet、5.htm t _blank Microsoft SQL Server、 HYPERLINK :/baike.baidu /view/15020.htm t _blank Oracle,或者任何 HYPERLINK :/baike.baidu /view/41321.htm t _blank ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的进阶用户那么能使用它来开发简单的应用软件
27、。虽然它支援部份 HYPERLINK :/baike.baidu /view/125370.htm t _blank 面向对象OO技术,但是未能成为一种完整的面向对象开发工具。其实Access 也是 HYPERLINK :/baike.baidu /view/2353.htm t _blank 微软公司另一个通讯程序的名字,想与 ProComm 以及其他类似程序来竞争。可是事后微软证实这是个失败方案,并且将它中止。数年后他们把名字重新命名于数据库软件。 用途Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统
28、。它也常被用来开发简单的 HYPERLINK :/baike.baidu /view/3912.htm t _blank WEB应用程序这些应用程序都利用 HYPERLINK :/baike.baidu /view/2616.htm t _blank ASP技术在 HYPERLINK :/baike.baidu /view/11165.htm t _blank Internet Information Services运行比拟复杂的WEB应用程序那么使用 HYPERLINK :/baike.baidu /view/99.htm t _blank PHP/ HYPERLINK :/baike.b
29、aidu /view/24816.htm t _blank MySQL或者ASP/Microsoft SQL Server它的使用方便程度和强大的设计工具为初级程序员提供许多功能。不过,这种便于使用可能使人误解。这类开发者都是没有在应用或者数据设计方面训练的办公室从业人员。因此许多人以为这样的开发者能够创造可用的系统,但也有很多人认为工具本身的局限性产生了这样的误导。一些专业的应用程序开发人员使用 Access 用作快速应用开发,特别是给街道上的推销员制作一个初型或独立应用程序的工具。可是如果是透个网络存取数据的话,Access 的可扩放性并不高因此当程序被较多使用者使用时,他们的选择多会是倾
30、向于一些客户端-效劳器为本的方案,例如 Oracle、DB2、Microsoft SQL Server、Windows SharePoint Services、PostgreSQL、MySQL、 HYPERLINK :/baike.baidu /view/95420.htm t _blank Alpha Five、MaxDB,或者Filemaker。无论如何,不少 Access 的功能表单,报告,序列和VB代码可以用作其他数据库的后期应用,包括 HYPERLINK :/baike.baidu /view/613306.htm t _blank JET档案为主的数据库引擎,Access 缺省使用
31、、Microsoft SQL Server、Oracle和任何其他跟ODBC兼容的产品。这种方法允许开发者把一个成熟的应用的数据移动到一台更大功率的效劳器而没有已经在适当的位置牺牲开展。很多开发者谁使用Microsoft Access使用Leszynski命名约定,虽然这不普遍;它是一次编程大会,并非一个 HYPERLINK :/baike.baidu /view/68450.htm t _blank DBMS实施的规章。3 系统分析3.1 系统分析 现代的社会是信息化的社会,信息无所不在。在生产领域、流通领域、各个部门每天都和信息打交道,如何处理如此多的信息成为了一个重要的课题。学生在学期开
32、始选课是教学活动中的一个重要环节,该环节如果能管理好,它不仅能加快学生的选课速度,也提高了整个教学活动的效率。 大学一般都有上千名学生,每学期开始学生都要选课,因而产生了大量的课程信息。考虑到用户使用的方便和处理的信息量系统要完成录入,保存,查询,修改和删除课程信息的各种过程,能打印出课程信息表。所以系统的根本体系结构采用C/S模式。 用户要求系统的主要使用对象是需要选课的学生。学生在选课是要观察各个课程的详细信息,还要选择一些感兴趣的课程,需要生成课表,在发现课程有冲突后能够修改先前选择的信息。需要随学生选课的变化,计算相应的总学分。在全部选定后,打印报表。系统还需要管理员来查看和修改学生的
33、总体选课情况,课程信息和学生信息。 业务流程分析学生选课前要登录系统,查看所有课程的详细信息,包括课程代号、授课教师、教室、上课时间、学分、剩余名额等。根据课程代号,学生可以查询相应的课程,并添加课程。查看课表,并能发现是否存在冲突课程,如果存在,可以删除该课程,并重新选择。打印课表,包含详细的课程信息。最后,选课完毕。学生选课的数据根本流程如图3-1所示:图3-1 学生选课流程 系统实体E-R图分析经过上述系统功能分析和需求总结,设计如下所示的实体和属性的定义:课程信息(课程号,课程名称,学分)学生信息(学号,姓名,性别,班级,出生年月,地址、 、邮箱)学生选课信息(学号,课程号,课程成绩)
34、用户权限(名称,代号、密码)。本系统根据上面的设计规划出的实体有:课程信息实体,学生信息实体,学生选课信息实体,用户登录实体。实体之间关系的E-R图如图3-2所示。图3-2系统E-R图课程信息实体E-R图,如图3-3所示:选课学号课程号学分图3-3课程信息实体E-R图学生选课实体E-R图,如图3-4所示:学生选课学号课程号成绩图3-4 学生选课实体图学生信息实体E-R图,如图3-5所示:学生信息学号姓名班级性别出生年月地址 Email图3-5 学生信息实体图登录信息实体E-R图,如图3-6所示:登录信息学号用户名密码图3-6 登录信息实体图学生选课系统主要是为学生选课的管理提供全面、准确、科学
35、的管理方法,方便快捷地处理选课的管理信息;防止了信息处理错误,提高了信息管理的工作效率,大大地节省人力和物力的开支。本章主要阐述了系统的业务流程,根据业务流程画出绘制出了E-R图。4 系统实现4.1 创立一个工作空间和应用程序对象创立一个工作空间WorkSpacestudent,目标Targetstudent和应用Applicationstu,在应用的open 事件中写入如下的语句进行应用与数据库的连接。/ Profile syn1SQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN=zxb;UID=
36、;PWD=connect using SQLCA;IF SQLCA.SQLCODE=-1 thenmessagebox(提示,连接失败!)returnelsemessagebox(提示,连接成功!)end ifopen(w_login)为了保存学生信息、课程信息、学生选课信息、登录信息、用户权限信息,数据库设计了学生信息表,课程信息表,学生选课信息表,登录信息表和用户权限信息表。这些表使得用户对数据的增删改变得非常方便,数据的冗余不是十清楚显。数据库中的学生信息表结构如表4-1所示:表4-1 学生信息表stu_inform字段名数据类型长度范围是否为空字段说明Sno文本4否学号Class文本2
37、0是班级Sname文本8是姓名Sex文本2是性别Birthday日期/时间是出生年月日Address文本50是地址Telephone文本20是 email文本40是电子信箱数据库中的课程信息表结构如表4-2所示:表4-2 课程信息表course_inform字段名数据类型长度范围是否为空字段说明Cno文本4否课程号Cname文本20是课程名credit数字是学分数据库中的学生选课信息表如表4-3所示:表4-3学生选课信息表stu_select字段名数据类型长度范围是否为空字段说明SnoChar8否学号CnoChar10否课程号scoreInt是成绩数据库中的登录信息如表4-4所示:表4-4登录
38、信息表u_login字段名数据类型长度范围是否为空字段说明UnoChar4否UnameNvarchar10否passwordNvarchar6否 通过主窗口可以实现学生管理,课程管理,选课管理等功能。其主要实现窗口如下列图4-1所示:图4-1 主窗口4.4 创立主菜单创立主菜单主要是方便各种功能的实现,从而实现更好的完成学生选课,查看课程信息等功能。如图4-2所示:图4-2 主菜单在“学生管理菜单项的m_main事件中编写代码:open(w_password)在“课程管理菜单项的m_main事件中编写代码:open(w_password)在“选课管理菜单项的m_main事件中编写代码:open
39、(w_password)创立按学生选课窗口 在主菜单窗口单击“选课管理按学生选课即可翻开此窗口,使用者可以在此窗口实现对课程的查询。下列图4-3为“按学生选课窗口的主界面。图4-3按学生选课窗口其中一些主要程序代码如下:1w_sc_1事件代码dw_1.settransobject(sqlca)dw_1.retrieve()2“增加按钮的click事件代码int i string snodw_2.accepttext()if dw_2.rowcount()0 theni=dw_2.getrow()if isnull(dw_2.object.sc_cnoi) or trim(dw_2.object
40、.sc_cnoi)= thenmessagebox(警告,课程编号不能为空!)returnend ifend ifsno=dw_1.object.snodw_1.getrow()dw_2.insertrow(0)dw_2.scrolltorow(dw_2.rowcount()dw_2.object.sc_snodw_2.getrow()=snodw_2.setcolumn(2)dw_2.setfocus()3“确定按钮click事件代码int ret,ret1string cname,cnoif dw_2.modifiedcount()0 or dw_2.deletedcount()0 the
41、nret=messagebox(提示,数据已更新,是否保存?,question!,yesnocancel!,3)if ret=1 thenret1=dw_2.update()if ret1=1 thencommit using sqlca;messagebox(提示,保存成功!)elserollback using sqlca;messagebox(提示,保存失败!)end ifelseif ret=3 thenreturn 1end ifend if4“dw_1按钮doubleclicked事件代码long istring nodw_1.selectrow(0,false)dw_1.sele
42、ctrow(dw_1.getrow(),true)no=dw_1.object.snodw_1.getrow()dw_2.settransobject(sqlca)dw_2.retrieve(no)4“dw_2按钮doubleclicked事件代码int i,jstring cno,cnamei_n=0dw_2.accepttext()if dw_2.getcolumnname()=sc_cno thenj=dw_2.getrow()cno=dw_2.object.sc_cnojfor i=1 to dw_2.rowcount()if ij thenif upper(dw_2.object.s
43、c_cnoi)=upper(cno) theni_n=1return 1end ifend ifnextend ifselect cname into :cname from c where cno=:cno;dw_2.object.c_cnamedw_2.getrow()=cname 创立按课程选课窗口图4-4 按课程选课窗口其主要代码与“按学生选课窗口类似,在此不再作说明。 创立课程管理增加窗口图4-5 课程增加窗口图4-5 生成课表主窗口其中一些主要代码如下:1w_c_insert事件的代码int ret,ret1dw_1.accepttext()if dw_1.modifiedcoun
44、t()0 thenret=messagebox(提示,数据已更新,是否保存?,question!,yesnocancel!,3)if ret=1 thenret1=dw_1.update()if ret1=1 thencommit using sqlca;messagebox(提示,保存成功!)elserollback using sqlca;messagebox(提示,保存失败!)end ifelseif ret=3 thenreturn 1end if end if close(this)2“增加按钮事件的代码如下int i i=dw_1.getrow()dw_1.accepttext()
45、if isnull(dw_1.object oi) or trim(dw_1.object oi)= thenmessagebox(警告,课程编号不能为空!)elsedw_1.insertrow(0)dw_1.scrolltorow(dw_1.rowcount() dw_1.setcolumn(1)dw_1.setfocus()end if 3“确定按钮事件的代码如下int nfor n=1 to dw_1.rowcount()dw_1.reselectrow(n)next3“删除按钮事件的代码如下dw_1.setfocus()elsedw_1.deleterow(0)dw_1.scrollt
46、orow(dw_1.getrow()-1)dw_1.setfocus()end ifif dw_1.modifiedcount()0 then ret=messagebox(提示,确定要删除记录么?,question!,yesnocancel!,3)if ret=1 thenret1=dw_1.update()if ret1=1 thencommit using sqlca;messagebox(提示,删除成功!)elserollback using sqlca;messagebox(提示,删除失败!)end ifelsedw_1.retrieve()return 1end ifend if5
47、dw_1事件的代码如下:if i_n=1 thenmessagebox(警告,课程编号不能与表中相同!)elseif i_n=2 thenmessagebox(警告,课程编号不能与录入值相同!)end ifdw_1.object odw_1.getrow()=return 1 创立课程删除窗口图4-6 课程删除窗口1w_c_delete事件的代码如下:int ret,ret1dw_1.accepttext()if dw_1.deletedcount()0 thenret=messagebox(提示,数据已更新,是否保存?,question!,YesNoCancel!,3)if ret=1 th
48、enret=dw_1.update()if ret1=1 thencommit using sqlca;messagebox(提示,保存成功!)elserollback using sqlca;messagebox(错误,保存失败!)end ifelseif ret=3 thenreturn 1end ifend ifclose(this)2“检索按钮的代码如下:string cxcx=cno=+sle_1.text+ and cno0 thenmessagebox(警告,该学生在选课表中已存在,不能删除!)elses=确定要删除课程编号为: +cno+的课程么?ret=messagebox(
49、提示,s,question!,yesno!,2)if ret = 1 thendw_1.deleterow(0)end ifend if4“确定按钮的代码如下:int ret,ret1dw_1.accepttext()if dw_1.deletedcount()0 thenret=messagebox(提示,数据已更新,是否保存?,question!,yesnocancel!,3)if ret=1 thenret1=dw_1.update()if ret1=1 thencommit using sqlca;messagebox(提示,保存成功!)elserollback using sqlca
50、;messagebox(错误,保存失败!)end ifelseif ret=3 thenreturn 1end ifend if 创立课程修改窗口图4-7 课程修改窗口课程查询窗口如图4-8所示,其主要代码与课程修改窗口类似,在此不再作说明4.5.6 创立学生增加窗口 单击主窗口的“学生管理增加选项后,进入此窗口界面,在本窗口主要实现对学生信息的查看及修改,下列图为学生增加窗口界面,如图4-8所示。图4-8 学生个人详细信息窗口其中closequery事件代码如下:int ret,ret1dw_1.accepttext()ret=messagebox(提示,数据已更新,是否保存?,questi
51、on!,yesnocancel!,3)if ret=1 thenret1=dw_1.update()if ret1=1 thencommit using sqlca;messagebox(提示,保存成功!)elserollback using sqlca;messagebox(提示,保存失败!)end ifelseif ret=3 thenreturn 1end ifclose(this)其它的代码与课程增加、删除、修改、查询窗口的代码类似,不再一一说明。学生删除、学生修改、学生查询窗口如图4-9、4-10、4-11所示。图4-9学生删除图4-10 学生修改图4-11学生查询 修改密码窗口的设
52、计 单击主窗口“修改密码选项或者“系统维护-修改密码后,即可翻开密码修改窗口。本窗口主要功能是修改学生个人的登录密码,在学生正确填写旧的用户名和密码后即可成功就该新密码。其主界面如图4-7所示。图4-12 密码修改窗口主界面其中“确定按钮代码如下:int retselect uno into :g_uno from u where uno=:g_uno and password=:sle_1.text;if sqlca.sqlcode=0 thenif sle_2.text=sle_3.text thenupdate u set password=:sle_2.text where uno=:
53、g_uno;commit using sqlca;close(parent)returnelseret=messagebox(提示,新密码有误,继续么,question!,yesno!,2)if ret = 1 thensle_1.text=sle_2.text=sle_3.text=elseclose(parent)returnend ifend ifelse ret=messagebox(提示,旧密码有误,继续么,question!,yesno!,2) if ret = 1 thensle_1.text=sle_2.text=sle_3.text=elseclose(parent)retu
54、rnend if end if 帮助窗口其主要是为系统做大致的说明,说明系统的主要功能。图4-13 帮助窗口其创立步骤如下:制作帮助文件的word文档选择“File-“New对话框,在“PB Object选项卡中选择“Window,单击“OK。设置窗口属性。单击工具栏上的OLE控件,翻开“Insert Object对话框,选择“Mirosoft Word文档,如图4-14图4-14 Insert Object对话框单击“Create From File选项卡选择做好的帮助文档,单击“OK。4.5.9 创立登录窗口登录窗口主要是用来登录主界面的一个关卡,其主界面如图4-8所示。图4-14登录窗口
55、界面其登录事件代码如下:/定义两个变量string password,username/ Profile stu_selectSQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN=stu_select;UID=;PWD=/连接数据库connect;/检索用户名和密码记录 SELECT stu_login.学号, stu_login.用户名, stu_login.密码, stu_login.权限代号 INTO :stu_no, :username, :password, :gl_no FROM stu_
56、login WHERE stu_login.用户名 = :sle_1.text ; /判断用户输入的用户名是否正确if sle_1.text= or sle_2.text= thenmessagebox(错误!,用户名或密码不能为空!,exclamation!,ok!,2)elseif username=sle_1.text and password=sle_2.text then open(w_main)close(w_login)elsemessagebox(错误!,用户名或密码错误,请重新输入!,exclamation!,ok!,2)end ifend if5 结束语随着信息技术的开展,办公自动化已成为社会开展的主要趋势,学生选课管理因其劳动的复杂性已经无法适应手工操作,所以应用先进的计算机技
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海员内部等级制度
- 混凝土公司内部审核制度
- 上海行健职业学院《自动驾驶概论》2024-2025学年第二学期期末试卷
- 煤矿企业调度室内部管理制度
- 监控中心内部稽核制度
- 监理内部培训管理制度
- 监理部内部物品管理制度
- 科学工作内部制度
- 科技公司内部制度
- 稽核流程内部控制制度
- 雨课堂在线学堂《文化差异与跨文化交际》单元考核测试答案
- 机械设计程序
- 2026年山东圣翰财贸职业学院单招职业技能考试题库及答案1套
- 《新污染物治理技术》-课件 第1章 新污染物简介
- 高效课堂建设+课件-2025-2026学年上学期教法探讨
- 2025年天津商务职业学院专任教师及专职辅导员岗位招聘10人方案笔试备考题库及参考答案详解一套
- 助产士规培考试题及答案
- 车队防春困安全培训课件
- 2026年高考物理一轮复习 力学实验(含解析)
- 海信ai面试题库及答案
- 2025年江西省高职单招文化考试语文试卷
评论
0/150
提交评论