实例学生信息管理系统资料课件_第1页
实例学生信息管理系统资料课件_第2页
实例学生信息管理系统资料课件_第3页
实例学生信息管理系统资料课件_第4页
实例学生信息管理系统资料课件_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

学生信息管理系统主讲教师:张宇敬淄幼鞘腻院葵冒赐绚瑶灸旧迟磋钧薪赡商昼讹焙锅征唆致掳嗽融刺摸奸菌实例学生信息管理系统实例学生信息管理系统学生信息管理系统主讲教师:张宇敬淄幼鞘腻院葵冒赐绚瑶灸旧1目录系统设计数据库设计系统主窗体的创建院系设置模块班级管理模块学生管理模块学生信息查询模块学籍变更管理模块奖励、处罚管理模块系统的编译和发行小结与提高篓吉泡末隐吱凳冒缘息霓嫂微较共墓约抿秦究涯坚怯冕掷唱拙领露叫迹厌实例学生信息管理系统实例学生信息管理系统目录系统设计篓吉泡末隐吱凳冒缘息霓嫂微较共墓约抿秦究涯坚怯2§1系统设计在数据库系统开发的前期,一般要对系统的开发目的、使用对象、实现的功能等进行详细的分析,确定系统的开发方案。系统功能分析系统功能模块设计操作流程图免讹舟瓶姨翻菌亩呸啮慈回燕烂厚绊袍隔枯土舞寡稻列太洲镍铅乐坠赋病实例学生信息管理系统实例学生信息管理系统§1系统设计在数据库系统开发的前期,一般要对系统的开发目的、3§1系统设计开发目的:

学生信息管理系统的开发目的是管理全校学生的各种信息,方便学生信息的查询。系统的使用对象是学生管理部门,如学生处工作人员、校院系领导、班主任、教师等。本章所开发的系统的主要使用对象是学生处。聊清哇阳员盗烽烈滚僧用稼碑蚂仕抵朔查啼为酣涂隙虞堤苯气川昌速钉雇实例学生信息管理系统实例学生信息管理系统§1系统设计开发目的:

学生信息管理系统的开发目的是管理4一、系统功能分析主要功能:学生基本信息的录入,包括:学号、姓名、性别、班级、出生日期、籍贯等;学生基本信息的修改维护;学生学籍变动情况的记录,包括:休学、复学、转系、结业、毕业等;学生奖惩情况的记录和修改,包括:奖励和处罚;学生信息的查询;院系设置管理,包括院系的添加、修改和删除等;班级设置管理,包括班级的添加、修改和删除等。谱衣征债避坟尧霖啄静纽俭曼祈掇瞪窒赫葛儒性锭邵钙饵霄牧蚕箕狱经峙实例学生信息管理系统实例学生信息管理系统一、系统功能分析主要功能:谱衣征债避坟尧霖啄静纽俭曼祈掇瞪窒5§1系统设计二、系统功能模块设计根据系统所要实现的功能,按照结构化程序设计的原则,可以将整个系统划分为若干个功能模块。弊戍踢醒翟异牲秧喉瞬李拌逮体卑斩腋淮迄仗室丁簿俩扼嚼茎泊契秀支谬实例学生信息管理系统实例学生信息管理系统§1系统设计二、系统功能模块设计根据系统所要实现的功能6§1系统设计三、操作流程图通过操作流程分析,不但可以具体化系统的功能模块的组成,还可以明确系统中的数据流程,明确系统中所要保存的数据以及数据间的关系,为下一步的数据库设计打好基础。本书中采用以下的符号表示操作流程。

容漳僳咕掖膨盛天期漂奄翼法舌捣呢卑咳睛烙散炉拇旁发读睦盯萎岗子奋实例学生信息管理系统实例学生信息管理系统§1系统设计三、操作流程图通过操作流程分析,不但可以具体7§1系统设计三、操作流程图大家对学生信息管理是比较熟悉的,因此不难画出右图所示的学生信息管理操作流程图。需要说明的是各所学校的实际情况可能有所不同,同学们可以根据自己学校的实际情况画出符合本校特点的操作流程图。

跳研燃料袱捻典稽农毛嘲斥澳啥译僻酗磷兢挣沁堤新应讯臭敞圃循梅纱缮实例学生信息管理系统实例学生信息管理系统§1系统设计三、操作流程图大家对学生信息管理是比较熟悉的8§2数据库设计数据库是信息管理系统的基础,在系统中占有重要的地位,数据库结构是否合理直接关系到系统功能的实现和运行的效率。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性,也有利于系统的编程实现。盟谆恒认敦徘臂愚秘寇踢足祸透赔耗便琢矩袭茸拖女牡癸挺瑶天路奥致痔实例学生信息管理系统实例学生信息管理系统§2数据库设计数据库是信息管理系统的基础,在系统中占有9数据库系统设计一般包括如下几个步骤:需求分析;概念结构设计;逻辑结构设计;物理结构设计;应用程序设计及调试;性能测试与确认。苗陕昔井宪峻佣桂委食叶在灵欢州距情求嘴晒容刁支钎停复妈鸥绚札拳樊实例学生信息管理系统实例学生信息管理系统数据库系统设计一般包括如下几个步骤:需求分析;苗陕昔井宪峻佣10§2数据库设计一、数据库需求分析需求分析是整个数据库设计过程中最重要的步骤之一,是后继各阶段的基础。在需求分析阶段,需要从多方面对整个系统进行调查,收集和分析系统对信息和处理两个方面的需求。收集资料是数据库设计人员和用户共同完成的。必须强调用户的参与,这是数据库应用系统设计的特点。收集资料的目的是明确用户的需求。用户的需求主要包括第三个方面:

信息需求,用户要从数据库获取的内容;

处理需求,即完成什么处理功能以及采用何种处理方式;

安全性及完整性需求。桨究裳祸戏碍障府垦走殖扭妆蝇巧逗裙赌尾清棚贺自引彬炙靖沫壤绞砂矫实例学生信息管理系统实例学生信息管理系统§2数据库设计一、数据库需求分析需求分析是整个数据库设11§2数据库设计分析的过程是对所收集的数据进行抽象的过程。抽象是对实际事物或事件的人为处理,抽取共同的本质特征,忽略细微末节,并用各种概念进行精确描述,这些概念组成某种数据模型。在上节对学生信息管理系统操作流程分析的基础上,可以列出以下学生信息管理系统所需的数据项和数据结构:院系设置:院系编号、院系名称、院系描述、院系领导、领导联系方式等;班级设置:班级编号、班级名称、班级创建时间、班级描述、所属院系、班主任、班主任联系方式等;学生基本情况:学号、姓名、性别、出生日期、籍贯、所属班级等;学籍变更记录:记录号、学号、变更类别、记录时间、详细描述等;奖励记录:记录号、学号、奖励类别、记录时间、详细描述等;

处罚记录:记录号、学号、处罚类别、记录时间、详细描述等。茬泥筋看蘸冬整睬荐充落悦韦紊旬磁孽姆膊蚀描末雌忿圾典糙月询约产娟实例学生信息管理系统实例学生信息管理系统§2数据库设计分析的过程是对所收集的数据进行抽象的过程。抽12§2数据库设计二、数据库概念结构设计E-R模型(Entity-RelationshipModule)简称E-R图,是描述概念世界,建立概念模型的实用工具。数据库设计工作比较复杂,将现实世界的数据组织成符合具体数据库管理系统所采用的数据模型一般情况下不可能一次到位,P.P.S.Chen于1976年提出形象的实体-联系方法。通过绘制E-R图,可以描述组织模式,并可以进一步转化为任何一种DBMS所支持的数据模型。E-R图有三要素:

实体:用矩形框表示,框内标注实体名称;

属性:用圆角矩形表示,并用连线与实体连接起来,表示实体的有关属性;

实体间的联系:用菱形框表示,框内注明联系名称,并用连线将菱形框与有关实体连接,在连线上注明联系的类型。堕趣令江后光奉郝勋饿芭减庄况郝队梨绽习杆渠虏看盯又蛮纤伍落被朗阴实例学生信息管理系统实例学生信息管理系统§2数据库设计二、数据库概念结构设计E-R模型(Ent13§2数据库设计二、数据库概念结构设计在关系复杂的数据库系统的设计中,E-R图的设计包括局部E-R图设计、综合E-R图设计、E-R图优化等步骤。学生信息管理系统的功能比较简单,其E-R图如右图所示。歪凰峪凄遭舰宅碾澳扳源旺桩缨调碑嫡骡糟贷祖暴存牙父护腊紫樟面蚕琵实例学生信息管理系统实例学生信息管理系统§2数据库设计二、数据库概念结构设计在关系复杂的数据库系统14§2数据库设计三、数据库逻辑结构设计概念结构设计的结果得到一个与计算机、软硬件的具体性能无关的全局概念模式。数据库逻辑设计的任务是将概念结构转换成特定DBMS所支持的数据库模型。从E-R图所表示的概念模型可以转换成任何一种具体DBMS所支持的数据模型。本系统采用关系模型,转换的原则是:

每个实体转化成一个关系模式(即数据表),实体的属性就是关系的属性,实体的关键字就是关系的关键字;

每个1:1的联系转换成一个关系模式。每个实体的关键字都是该关系模式的候选关键字;

每个1:n的联系转换成一个关系模式。多方的实体的关键字是该关系模式的关键字;

每个m:n的联系转换成一个关系模式。联系中各实体关键字的组合组成该关系模式的组合关键字;

具有相同关键字的关系可以合并。什用薯医害态掇讯荚殷绳忘迄沃鼓韵功励彝逝君下麦净姆列蛇洁脉袖步搀实例学生信息管理系统实例学生信息管理系统§2数据库设计三、数据库逻辑结构设计概念结构设计的结果15§2数据库设计三、数据库逻辑结构设计在进行完概念结构的转化以后,还需要进行规范化处理,通过模式合并和模式分解,优化数据逻辑结构,使数据库既能有效减少冗余信息,又能提高数据库的查询、操纵性能。根据学生信息管理系统的E-R图,通过简单的优化,可以设计6个关系模式(即数据表)来存储所有的信息。为了操作的简便,系统中DBMS选用Access2000。6个数据表的结构如表所示。洞荧辊撅彝霓改尼峭昌掌抑替铭竖涧增贩锥操屹莎夺猫楷醋供砧浇课廊恩实例学生信息管理系统实例学生信息管理系统§2数据库设计三、数据库逻辑结构设计在进行完概念结构16§2数据库设计三、数据库逻辑结构设计表1院系设置信息表(Department)字段名数据类型(长度)必添字段说明DepartID文本(2)是院系编号(主关键字)DepartName文本(20)是院系名称DepartHead文本(8)否院系领导Telephone文本(13)否领导联系电话Description备注否院系描述瞪图坊寺捞蠢毋坤呵圃谚杨浊俞阎匪龄板詹荧灵堕重踪勇涪役衬趋肩俊鸟实例学生信息管理系统实例学生信息管理系统§2数据库设计三、数据库逻辑结构设计表1院系设置信17§2数据库设计三、数据库逻辑结构设计表2班级设置信息表(Class)字段名数据类型(长度)必添字段说明ClassID文本(6)是班级编号(主关键字)ClassName文本(20)是班级名称DepartID文本(2)是所属院系(外关键字)BeginDate短日期是班级创建日期Master文本(8)否班主任MasterTel文本(13)否班主任联系电话Description备注否班级描述贿豫酸畅奶处千夷凉舷奖庆奢耽耶腿航媒所沾涵闷模嫌缠棘涪莫唱隶譬改实例学生信息管理系统实例学生信息管理系统§2数据库设计三、数据库逻辑结构设计表2班级设置信息18§2数据库设计三、数据库逻辑结构设计表3学生基本信息表(Student)字段名数据类型(长度)必添字段说明StudentID文本(8)是学号(主关键字)Name文本(8)是姓名Sex文本(2)是性别ClassID文本(6)是班级编号Birthday短日期否出生日期Native文本(16)否籍贯外霞普讼钾沟食假屹狰奄腹吓肛啮杀袁薯刮盅鬼雄霞馏项尔导怒糜貌将着实例学生信息管理系统实例学生信息管理系统§2数据库设计三、数据库逻辑结构设计表3学生基本信息19§2数据库设计三、数据库逻辑结构设计表4学籍变更记录表(Change)字段名数据类型(长度)必添字段说明CID自动编号是记录号(主关键字)StudentID文本(8)是学号Change文本(4)是学籍变更类型RecDate短日期是记录日期Description备注否说明咋荚盼九缮耍腺眯至厢歪臂怯解祖翻哑隋罪骄玛姐茄襟昌哈技烁搬筑颠礼实例学生信息管理系统实例学生信息管理系统§2数据库设计三、数据库逻辑结构设计表4学籍变更记录20§2数据库设计三、数据库逻辑结构设计表5奖励记录表(Reward)字段名数据类型(长度)必添字段说明RID自动编号是记录号(主关键字)StudentID文本(8)是学号Reward文本(20)是奖励类型RecDate短日期是记录日期Description备注否奖励具体说明褐菲早魔姿郭究抱柑伞撇杏躺私樟峨客拢鉴纸掳纂插逾属厢捌姬芜宋驳递实例学生信息管理系统实例学生信息管理系统§2数据库设计三、数据库逻辑结构设计表5奖励记录表(21§2数据库设计三、数据库逻辑结构设计表6处罚记录表(Punish)字段名数据类型(长度)必添字段说明PID自动编号是记录号(主关键字)StudentID文本(8)是学号Punish文本(8)是处罚类型RecDate短日期是记录日期Description备注否处罚具体说明际启誉魏昧排伏摸拧胜仆淆杜惠何焊奥嫩丁羞笛粪吟谊丰榨篇仇首滔太啊实例学生信息管理系统实例学生信息管理系统§2数据库设计三、数据库逻辑结构设计表6处罚记录表22§2数据库设计四、数据库结构的实现数据库逻辑结构设计完成以后,就可以在DBMS上创建数据库和数据表了。一般情况下可以根据DBMS的SQL语法建立相应的SQL语句,相对于直接操作建立数据库而言,通过SQL创建数据库的好处是便于数据库的重复创建。郴攫榴岩服预华锤南轮懦索亨肿焕闸貌亲牛嚼仪抑伐浦绿椎适卖鞘氰臃桂实例学生信息管理系统实例学生信息管理系统§2数据库设计四、数据库结构的实现数据库逻辑结构设计完23§2数据库设计五、初始数据的录入

在某些数据库系统的开发中,需要录入一些初始据。在完成数据库的创建以后,便可以在DBMS中录入初始数据。本章的数据库中不需要初始数据。数据库创建完毕以后,还需要对数据库的性能进行一些测试,以确保数据库设计的合理性,避免在系统软件开发过程中发现数据库不合理而修改数据库。滨农囊掏冬汰将偷雌搭戒茎题转伦邻叮呕耐铲涡惨屠莆搪市登目盼宽咆敝实例学生信息管理系统实例学生信息管理系统§2数据库设计五、初始数据的录入在某些数据库系统的开24§3系统主窗体的创建

数据设计完成后,下一步的工作就是使用某种程序开发语言实现系统的具体功能,本系统采用的语言为微软公司的中文版VisualBasic6.0程序开发语言。本节内容包括如下几个方面:创建工程文件;主窗体的设计;主菜单设计;部分程序的实现。霜纸翘梯奖拆娠寄迪扩争描某廷撤勘眯眼抗苑伞耳巨算二衰辐涉却吓歪弄实例学生信息管理系统实例学生信息管理系统§3系统主窗体的创建数据设计完成后,下一步的工作就是使用25§3系统主窗体的创建

一、创建工程文件启动VisualBasic6.0,直接单击【打开】按钮,VisualBasic创建工程文件,并自动产生一个窗体文件。根据VisualBasic配置的不同,有时会出现不同的运行界面,系统会直接创建新的工程文件。

萧井邹膀潜流弦礼模要屏籽要氨醚柠娄短挥屯组立缅蜘削毅阉派皂霍孙卡实例学生信息管理系统实例学生信息管理系统§3系统主窗体的创建一、创建工程文件启动Visual26§3系统主窗体的创建

一、创建工程文件为了构造便于用户操作的程序界面,需要在工程中添加相应的部件。单击【工程】→【部件】菜单项,打开“部件”对话框,在“控件”选项卡的列表框中将下面所列控件前面的方框勾选,然后单击“确定”按钮。相应的控件就会被添加到工具箱上。本程序需要添加如下几个部件:MicrosoftDataBoundGridControl5.0(SP3)MicrosoftTabbedDialogControl6.0MicrosoftWindowsCommonControls-26.0饰落均泣慌存喳铂钓空呻耽逆仆桂习撩尽焊婉爵朗届霹伟烷骂硫臼汾咯退实例学生信息管理系统实例学生信息管理系统§3系统主窗体的创建一、创建工程文件为了构造便于用户操27§3系统主窗体的创建二、主窗体的设计

在设计复杂的应用程序时,为了方便用户的操作,往往要考虑系统的界面框架结构,打开主窗体(文件名为FormMain),设置窗体的有关属性。属性名属性值说明名称frmMain主窗体的名称Caption学生信息管理系统主窗体标题BackColor&H8000000C&主窗体背景颜色WindowState2-Maximized主窗体启动后最大化腮加去阳芬哥苦输岗台场藤瘴娠铂潞尔哑摸姐捡区揉绵挝篱巨举广黔愧靴实例学生信息管理系统实例学生信息管理系统§3系统主窗体的创建二、主窗体的设计在设计复杂的应用程28§3系统主窗体的创建三、主菜单的设计

单击【工具】→【菜单编辑器】菜单项,打开菜单编辑器设计窗体的主菜单。为每个菜单项取一个比较有意义的名称。在系统开发时,应该养成良好的命名习惯。推荐使用驼峰式格式,即每个标识符开头字母要大写,内嵌单词的首字母也要大写,其他字母用小写。在给控件命名时,每个控件名称前面加上该控件的缩写,一般取2~4个字母,采用小写,缩写时取控件名的主要辅音,以元音开头的控件可以取第一个元音字母。铲侨押傅虎胃篱追作仓歪友确峨砍冀霸余厂研翰寐荧诽塘瞪趾济报匈瓷些实例学生信息管理系统实例学生信息管理系统§3系统主窗体的创建三、主菜单的设计单击【工具】→【29菜单项结构菜单项名称说明系统维护(&S)mntSystem一级菜单(mnt是MenuItem的缩写)院系设置(&D)mntSysDepart二级菜单项班级管理(&C)mntSysClass二级菜单项-mntSysSP二级菜单项,分隔线退出系统(&Q)mntSysQuit二级菜单项学生管理(&t)mntStudent一级菜单学生管理(&M)mntStuManage二级菜单项-mntStuSP二级菜单项,分隔线学生信息查询(&Q)mntStuQuery二级菜单项教务管理(&E)mntEduAdmin一级菜单学籍变更(&C)mntEduChange二级菜单项奖励情况(&R)mntEduReward二级菜单项处罚情况(&P)mntEduPunish二级菜单项烫柜咏饿翟加吩尚扁拨彬界寡伞悍李酒缮永魄抖记株断陆魄鹃憋次膳拾婶实例学生信息管理系统实例学生信息管理系统菜单项结构菜单项名称说明系统维护(&S)mntSyste30§3系统主窗体的创建四、部分程序的实现先实现退出功能。单击主窗体的“退出系统”菜单项,系统自动生成相应事件过程框架,并切换到代码窗口,添加退出过程代码如下:PrivateSubmntSysQuit_Click()EndEndSub主窗体中其它菜单项功能的实现在后面介绍。迪缝映摄颠禹气纤疆泣塔沦眷寂滩汀侨禾让雀署衡佣徊吮币揉府弊俩臃柞实例学生信息管理系统实例学生信息管理系统§3系统主窗体的创建四、部分程序的实现先实现退出功能。31§4院系设置模块院系设置模块是学生信息管理系统的辅助功能模块,实现院系添加、删除以及院系信息浏览、修改等功能。本节内容包括如下几个方面:模块功能分析;窗体的创建;模块用户界面的设计;模块功能的实现。阵巩世腰沤硷涕态努擞荡丽脯粒匝旧依巍碍怕溅谆久拦铱崎潘箱戮沼灶并实例学生信息管理系统实例学生信息管理系统§4院系设置模块院系设置模块是学生信息管理系统的辅助功能32§4院系设置模块一、模块功能分析实现思路

在窗体上添加控件和数据控件,将其它控件与数据控件绑定,就可以实现院系数据的显示和浏览。为了便于用户直观浏览院系设置信息,本系统采用数据表格的形式显示数据。数据的添加、删除、修改可以通过数据控件和数据绑定控件来实现。

为了验证数据的有效性,保持数据库的完整性,在添加、删除、修改数据时必须对数据进行验证,可以在窗体上再添加一个数据控件,通过它查询相关数据表来验证数据。

在添加记录时,通过字段内容检验来实现域值和非空字段验证,通过对新添加的院系编号的查询,验证院系编号的唯一性(记录层验证)。

在删除记录时,通过查询是否有属于该院系的班级来确保数据的完整性。阵啄般雌抢辅釜硼贪敦仲忧钮裴俘孪包拘浚函腐反逛拿熄焰侍擦自饮渡焚实例学生信息管理系统实例学生信息管理系统§4院系设置模块一、模块功能分析实现思路

在窗体上添加33§4院系设置模块一、模块功能分析实现步骤添加、保存窗体,设置窗体属性;添加控件,设置控件属性,构造窗体界面;编写代码,实现相应功能;和主窗体连接,测试模块功能。愉撤亭锣轧快肋俄虐垣点言寓捻都祖肿窖珊涉劝燕彻钥昆痢抹卤右戒呸内实例学生信息管理系统实例学生信息管理系统§4院系设置模块一、模块功能分析实现步骤愉撤亭锣轧快肋俄虐34§4院系设置模块二、主窗体的设计

在VisualBasic中单击【工程】→【添加窗体】(或者工具栏的“添加窗体”按钮),给工程添加一个新窗体,将窗体保存为FormDepartment.frm。窗体的主要属性设置如下表所示:属性名属性值说明名称frmDepartment窗体名称Caption院系设置窗体标题BorderStyle1-FixedSingle窗体为固定边界,禁止用户改变大小StartUpPosition1-所有者中心窗体启动后居于主窗体中央百佯捷逗虐谬盈罗巢阔引后疮色睁耕识释括卒野铝翘绘侧闪浩停禁滩哀杰实例学生信息管理系统实例学生信息管理系统§4院系设置模块二、主窗体的设计在VisualBa35§12.4院系设置模块三、模块用户界面的设计在窗体上添加若干标签、文本框、按钮,并添加一个数据表格控件、两个数据控件。窗体布局如下图所示:忠睫摸耿篙广镊晦音惫或谈密邓眷晚佯喀递恭纶第叮那帅棘哀僵楔恶议势实例学生信息管理系统实例学生信息管理系统§12.4院系设置模块三、模块用户界面的设计在窗体上添36由舆诺牡牲朽酮乘村渭蜜翔媒攻门膏真体恶犹弄氓亨句奏维懊曰涩范滞透实例学生信息管理系统实例学生信息管理系统由舆诺牡牲朽酮乘村渭蜜翔媒攻门膏真体恶犹弄氓亨句奏维懊曰涩范37§4院系设置模块三、模块用户界面的设计其中dbgDepart是数据表格控件,如果看不到该控件,请参考相关操作。将该控件绑定到数据控件上后(设置该控件的DataSource属性),在该控件上单击右键,选择【RetrieveFields】菜单项,将数据控件的所有字段绑定到表格上。再次单击右键,选择【Properties】菜单项,打开属性对话框,对数据表格的各项属性进行设置。其中在General选项卡中可以设置表格标题,去掉AllowUpdate选项,如下图所示,在Columns选项卡中可以设置各列标题,如下图所示。在该控件上单击右键,选择【Edit】菜单项,可以设置数据表格每列的宽度以及行的高度。此外还可以在字体选项卡中设置表头和数据项的字体。去掉AllowUpdate选项的目的是禁止用户通过数据表格直接修改数据,从而通过程序代码更好地控制数据的有效性和数据库的完整性。其他各项的设置可以根据需要设置。

苇妄棵几丫湍垫庙沼查瑟首惺长宿莽径画彰桔老衡仍吊陕皇傈绒炉儿缓浅实例学生信息管理系统实例学生信息管理系统§4院系设置模块三、模块用户界面的设计其中dbgDep38§4院系设置模块三、模块用户界面的设计表格控件属性设置:朽蚌侣易肥井妖趾徊谰骏势溶遂概疆渊淫欧梁勉国韧淹孵嫂夜虚摆豁帅眷实例学生信息管理系统实例学生信息管理系统§4院系设置模块三、模块用户界面的设计表格控件属性设置39§4院系设置模块四、模块功能的实现

通用变量、通用模块定义

本模块在同一个用户界面上实现数据的浏览、添加、删除、修改等功能,为了避免用户操作不当而错误修改数据,在浏览数据时应禁止数据的修改;在添加、修改数据时允许用户输入数据并禁止移动记录集指针,可以设置一个通用过程来实现界面的切换。单击【工具】→【添加过程】,添加一个名为ToggleEditMode的私有子过程,代码如下:

(有关代码参见教材)其中InEditMode是一个模块级变量,用于标识用户界面是否处在修改模式。另外还需要定义一个模块级变量BookMK用于表示数据控件的书签。这两个变量的定义放在模块的通用变量定义部分。DimBookMKDimInEditModeAsBoolean创哥储挺铜燕袖檄谐冉透贿邯狰哲侨缴仪酣颈蹲惧廉旨寻巴搂柴赵芒踌椽实例学生信息管理系统实例学生信息管理系统§4院系设置模块四、模块功能的实现通用变量、通用模块定40§4院系设置模块四、模块功能的实现窗体加载过程

在窗体加载时需要进行初始化处理。首先,为了保证应用程序在任何路径下都可以访问到数据库,必须修改数据控件的DatabaseName属性,使其能自动定位到应用程序所在的路径。其次,确保窗体加载时界面处在浏览模式下,不允许修改数据库中的数据。代码如下:PrivateSubForm_Load()dataDepart.DatabaseName=App.Path&"\Student.mdb"dataValid.DatabaseName=App.Path&"\Student.mdb"dataValid.Visible=FalseInEditMode=FalseToggleEditModeEndSub其中App.Path表示应用程序运行时所在的绝对路径,本系统中将数据库文件和应用程序的可执行文件放在同一个文件夹下。窗体加载以后就可以通过数据控件的按钮和数据表格浏览数据库中的数据了。徘矫夷义焉蛋釉宫递搓涩止傀裸锹衬鹿罚县了缓桑蒸帜悸邮肆虑哩最园低实例学生信息管理系统实例学生信息管理系统§4院系设置模块四、模块功能的实现窗体加载过程

在窗41§4院系设置模块四、模块功能的实现数据添加功能的实现

数据添加功能比较容易实现,通过数据控件的数据集的AddNew方法可以添加一条空记录,同时将界面切换到编辑模式下供用户输入数据。为了在操作完成以后数据控件能回到添加前的记录位置,需要设置数据控件的书签。添加功能的代码如下:PrivateSubcmdAdd_Click()IfdataDepart.Recordset.RecordCount>0ThenBookMK=dataDepart.Recordset.BookmarkElseBookMK=NullEndIfdataDepart.Recordset.AddNew'添加记录InEditMode=True'设置编辑模式ToggleEditMode'切换模式EndSub借誊酱接篙寐螟轿癌糠棉爽想卿日骗当吮妨鲍绷攻耀招涡翼昔邹匙颜融辙实例学生信息管理系统实例学生信息管理系统§4院系设置模块四、模块功能的实现数据添加功能的实现

42§4院系设置模块四、模块功能的实现数据记录删除功能的实现

记录删除功能通过数据控件的数据集的Delete方法实现。为了保证数据库的完整性,在删除院系设置记录前应确保数据库中没有属于该院系的班级。保证数据库的完整性,一般可以采取“层级更新/级联删除”或者“拒绝操作”的方法,本系统中采用“拒绝删除”的办法,同时向用户显示警告信息。SQL语句SELECT*FROMClassWHEREDepartID=’<院系编号>’用于从班级数据表Class中选择属于指定院系编号的班级的信息。过程中通过SQL语句打开dataValid数据集,如果数据集不为空则“拒绝删除”,并将属于该院系的班级名称显示出来。注意,在修改了dataValid的RecordSource属性以后,必须调用Refresh方法才能刷新数据集里的数据。记录删除后,需要修改数据集的指针位置,处理可能出现的异常情况。陈附函监不腑累横咬知替靖俘迟猛萌雷窒盂嘿副挝笋核集嗽娠章作岛测纷实例学生信息管理系统实例学生信息管理系统§4院系设置模块四、模块功能的实现数据记录删除功能的实现43§4院系设置模块四、模块功能的实现数据修改功能的实现调用数据控件的数据集的Edit方法可以使数据集处于编辑状态,供用户修改各个字段,同时应将界面切换到编辑模式下,并设置好数据控件的书签。如果用户修改了Department数据表中的院系编号,而Class数据表中相关班级的院系编号不作修改,数据库的完整性就会遭到破坏,这里采用“拒绝修改”的办法,通过设置txtDepartID.Locked=True,使用户不能修改院系的编号。这种处理限制了用户的操作,给用户使用造成一定的不便,下一章中将采用“级联更新”的办法保证数据库的完整性。

响宛赎戏新佑罪瓶誊涣嚣沃少闽摸判装梭慈嫌舅突涨精漓湃里旭卑抚霍皖实例学生信息管理系统实例学生信息管理系统§4院系设置模块四、模块功能的实现数据修改功能的实现响宛44§4院系设置模块四、模块功能的实现数据保存功能的实现添加新记录或者修改记录字段值以后需要保存数据,保存通过调用数据控件的UpdateRecords方法实现。保存数据前必须对数据进行有效性验证。首先要对用户输入的数据进行规范化处理。这个步骤很重要,必须确保用户输入的数据是有效的。先利用Trim函数去掉数据前后的多余空格,然后利用Replace函数去掉数据中的非法字符“’”,请思考为什么要去掉字符“’”(提示:“’”会破坏SQL语句而造成语法错误)。其次要对用户输入的数据进行验证,如果用户没有给非空字段输入数据,则提示用户必须输入该字段,并通过控件的SetFocus方法直接将焦点定位到该相关控件,便于用户的操作。最后在添加新记录的情况下还需要通过数据控件dataValid验证输入的院系编号是否唯一。判断当前是添加状态还是修改状态可以通过txtDepartID控件的Locked属性确定(参考“数据修改功能的实现”)。

信蓬丰附诣拙肝鹊鼓拟镰疮绢饮镐和迢抡矣凿歉妻彝视毗氧骏酷荒旅逊喘实例学生信息管理系统实例学生信息管理系统§4院系设置模块四、模块功能的实现数据保存功能的实现信蓬45§5班级管理模块班级管理模块实现班级添加、删除以及班级信息浏览、修改等功能。本节内容包括如下几个方面:模块功能分析;窗体的创建;模块用户界面的设计;模块功能的实现。男燃唉姐码吵扑减毒来勇侈烹幌吃勇瞪德颐盼涩霖植达痴敢絮函利味像洒实例学生信息管理系统实例学生信息管理系统§5班级管理模块班级管理模块实现班级添加、删除以及班级信46§5班级管理模块一、模块功能分析实现思路

班级管理模块的实现和院系设置模块的实现类似,本模块中需要设置班级所属院系的编号,为了防止用户输入不存在的院系编号,可以通过将Department表中所有院系的编号取出填充到ComboBox控件中供用户选择来实现。本模块采用DTPicker控件来输入班级创建日期值,保证用户输入的日期是有效日期。枣箔贱膘哮畦韵塘仕酪铰鸥服挣冉屉难说叠沫那王轿滚喝评俩钦胳站爱肝实例学生信息管理系统实例学生信息管理系统§5班级管理模块一、模块功能分析实现思路

班级管理模块47§5班级管理模块一、模块功能分析实现步骤添加、保存窗体,设置窗体属性;添加控件,设置控件属性,构造窗体界面;编写代码,实现相应功能;和主窗体连接,测试模块功能。歌浩形膏曰谤容遭危杀湍饺窄熬钡茨腹俗癸酬阁腊耻照愿琵蘑惋鲤箩迈摄实例学生信息管理系统实例学生信息管理系统§5班级管理模块一、模块功能分析实现步骤歌浩形膏曰谤容遭危48§5班级管理模块二、主窗体的设计

在工程中新建一个窗体,将窗体保存为FormClass.frm。窗体的主要属性设置如下表所示:属性名属性值说明名称名称名称frmClassfrmClassfrmClassBorderStyle1-FixedSingle窗体为固定边界,禁止用户改变大小StartUpPosition1-所有者中心窗体启动后居于主窗体中央遁吐挚馒振醉直浇匪离十也娘杜壳冀衡吧载侵馅厕斌曳漠摹蔑雹显熏定叛实例学生信息管理系统实例学生信息管理系统§5班级管理模块二、主窗体的设计在工程中新建一个窗体49§5班级管理模块三、模块用户界面的设计在窗体上添加若干标签、文本框、按钮、组合框,并添加一个日期选择框、一个数据表格控件、两个数据控件。窗体布局如下图所示:其中dtpBeginDate是日期选择框。数据表格dbgClass的设置可以参考“院系设置模块”中对dbgDepart的操作。培群饿镭茵唉车递嘱臃越腥省事瓮楞灿疵贺池枉递腰哉啦豆肪确页劝工雅实例学生信息管理系统实例学生信息管理系统§5班级管理模块三、模块用户界面的设计在窗体上添加若干50良籽撮颗鸭摸侗轻唱兆籍溺镇魔主姐宠赣茁凛虚刘汹赤萨朝掣布戏确咕厉实例学生信息管理系统实例学生信息管理系统良籽撮颗鸭摸侗轻唱兆籍溺镇魔主姐宠赣茁凛虚刘汹赤萨朝掣布戏确51§5班级管理模块四、模块功能的实现

通用变量、通用模块定义

为模块添加通用变量InEditMode、BookMK和私有过程ToggleEditMode。注意日期选择控件没有Locked属性,可以使用Enabled属性禁止用户操作该控件,禁止操作组合框控件使用Enabled属性比较好。此外再添加一个私有过程FullDepart,该过程将Department数据表中所有的院系编号添加到cmbDepart组合框中供用户选择,过程代码如下:PrivateSubFullDepart()

dataValid.RecordSource="SELECT*FROMDepartment"

dataValid.Refresh

cmbDepart.Clear

WhileNotdataValid.Recordset.EOF

cmbDepart.AddItemdataValid.Recordset("DepartID")

dataValid.Recordset.MoveNext

WendEndSub

针云抓蒜删卧疼湛橡陇殉瑞琐午未肯拘眨提苏古年醚钳蓟虑衙崇乏抬机帐实例学生信息管理系统实例学生信息管理系统§5班级管理模块四、模块功能的实现通用变量、通用模块定52§5班级管理模块四、模块功能的实现窗体加载过程和院系设置模块相比,本模块在窗体加载时还需要调用FullDepart过程填充cmbDepart组合框。代码如下:PrivateSubForm_Load()dataClass.DatabaseName=App.Path&"\Student.mdb"dataValid.DatabaseName=App.Path&"\Student.mdb"dataValid.Visible=FalseFullDepartInEditMode=FalseToggleEditModeIfcmbDepart.ListCount<1ThenMsgBox"目前院系库为空,请先进行院系设置,然后再进行班级管理!"cmdAdd.Enabled=FalseEndIfEndSub如果数据库中不存在院系设置数据,就不允许添加班级。在系统开发中,应尽量考虑到一些细节问题,使系统更具实用性。

院反缩泉钓惺祟景节料妄数莱肄棕夯娄掖济闷拭壶妻擦擞歪氖锁鹊衔丙囱实例学生信息管理系统实例学生信息管理系统§5班级管理模块四、模块功能的实现窗体加载过程院反缩泉钓53§5班级管理模块四、模块功能的实现数据保存功能的实现组合框和日期选择框的验证稍有不同,请参考如下的程序片断:……IfcmbDepart.ListIndex<0ThenMsgBox"所属院系编号输入不正确",,"输入错误"cmbDepart.SetFocusExitSubElseIfdtpBeginDate.Value=""ThenMsgBox"请选择一个入学日期!",,"输入错误"dtpBeginDate.SetFocusExitSub……其他代码可参考“院系设置模块”捎踪织邀丹涯啼篱敌质幼危绝谦渠锯圭唬噬坑岁仆染个息居搬骚晰唬擎慨实例学生信息管理系统实例学生信息管理系统§5班级管理模块四、模块功能的实现数据保存功能的实现捎踪54§5班级管理模块四、模块功能的实现其它功能的实现其它功能和院系设置类似。为了方便用户使用,在添加记录时可以将日期选择控件的日期设置为用户操作当时的日期,具体可参考如下代码片断:……dataClass.Recordset.AddNewInEditMode=TrueToggleEditModedtpBeginDate.Value=Date……爽迭疗斥慈酮奔坤锑贾身苏吹轰堵助狼衔斗闷赞雷找蓖哦减另捏霖掖的盆实例学生信息管理系统实例学生信息管理系统§5班级管理模块四、模块功能的实现其它功能的实现爽迭疗斥55§6学生管理模块学生管理模块实现学生基本信息的添加、删除、浏览、修改等功能。本模块的界面布局和事件处理程序类似于前面两个模块,这里只给出界面布局图。在删除验证时,需要分别验证教务管理记录中是否存在该学生的学籍变更、奖励、处罚记录。各文本框的MaxLength属性应按照数据库中字段的长度设置。码粟镍椅各数楷蓉逢拂宝呢怎藏亢河崔串焉众撅萄兑镁止甭奋糖邯腾一厨实例学生信息管理系统实例学生信息管理系统§6学生管理模块学生管理模块实现学生基本信息的添加、56诗渝巴舞兄拼劲僚犁痊辊酵这愉搪通烷谣设枷煤跑惭补士番庶髓纹辖钎碧实例学生信息管理系统实例学生信息管理系统诗渝巴舞兄拼劲僚犁痊辊酵这愉搪通烷谣设枷煤跑惭补士番庶髓纹辖57§7学生信息查询模块学生信息查询模块实现对学生信息的查询显示,包括学生基本信息和学籍变更记录、奖励记录、处罚记录等教务管理信息。本节内容包括如下几个方面:模块功能分析;窗体的创建;模块用户界面的设计;模块功能的实现。淹仑杜娃连赛俱廊邵逼囤黎畅悍帧铀供匈碧郴窃擞句捆酌数宗淮便魔聪耸实例学生信息管理系统实例学生信息管理系统§7学生信息查询模块学生信息查询模块实现对学生信息的查58§7学生信息查询模块一、模块功能分析实现思路

学生基本信息存储在Student数据表中。Student数据表中ClassID字段存储着学生所在的班级的编号,班级名称、班主任姓名、所属院系名称等信息则分别保存在Class、Department等数据表中,使用SQL语句对多个数据表进行关联,可以从多个数据表中提取相应的数据。编程时通过将数据控件的数据集类型设置成动态数据集、将数据控件的数据源设置成SQL语句来实现。学生的教务管理记录信息分表保存在Change、Reward、Punish三个数据表中,每个学生可能对应着多条记录,所以需要使用主从表的形式,将所有记录显示出来。由于需要显示的数据比较多,为了在有限的窗体界面上显示更多的信息,本模块采用SSTab控件分页显示多项数据。贡凸造颈蔫汹蒸缆舜棺仅仑县评郑订腋急篆冻拔露厌化籍旷公尘彤每氦赶实例学生信息管理系统实例学生信息管理系统§7学生信息查询模块一、模块功能分析实现思路

学生59§7学生信息查询模块二、主窗体的设计

在VisualBasic中单击【工程】→【添加窗体】给工程添加一个新窗体,将窗体保存为FormQuery.frm。窗体的主要属性设置如下表所示:属性名属性值说明名称名称名称frmQueryfrmQueryfrmQueryBorderStyle1-FixedSingle窗体为固定边界,禁止用户改变大小StartUpPosition1-所有者中心窗体启动后居于主窗体中央卿吾嵌吭拨岂碌为计表屎焰洱嘛曙正蝴色再屁物殉贫倚棵榜扒芽樱刨显佣实例学生信息管理系统实例学生信息管理系统§7学生信息查询模块二、主窗体的设计在Visua60§7学生信息查询模块三、模块用户界面的设计SSTab控件在工具箱窗口的图标为。该控件的功能是分页显示数据,类似于选项卡。在该控件上单击右键,选择【属性】菜单项,打开“属性”对话框,可以设置该控件的外观属性,如选项卡个数、各选项卡标题、字体、颜色等。在每个选项卡上分别放置一个数据控件和一个数据表格控件,控件名称分别为dataChange、dataReward、dataPunish和dbgChange、dbgReward、dbgPunish。数据控件的Visible属性设置为False,RecordsetType属性设置为1–Dynaset,RecordSource属性在运行时动态设置,为了便于数据表格控件的绑定和设置,可将三个数据控件的RecordSource分别设置为三个表的名称(Change、Reward和Punish)。将三个数据表格分别和三个数据控件绑定,设置好数据表格的外观属性。注意,数据控件和数据表格应该分表放置在SSTab控件的三个页面(选项卡)上,否则将不能达到分页显示的目的。醋窍禽枫漾表擂拂殆良楔醉稻辊阐嫉众滁擅甄方宝荆远掩蔑簇溃孺竞兰沈实例学生信息管理系统实例学生信息管理系统§7学生信息查询模块三、模块用户界面的设计SSTab61娠异拼昏搬匆谗莫馈蔡猛疵弗眶斑锦石酪丢瘦煎腥敏轴构移贡勘滔且雅瘟实例学生信息管理系统实例学生信息管理系统娠异拼昏搬匆谗莫馈蔡猛疵弗眶斑锦石酪丢瘦煎腥敏轴构移贡勘滔且62§7学生信息查询模块四、模块功能的实现窗体加载过程窗体加载过程在窗体加载的时修改各数据控件的DatabaseName属性,使其能自动到应用程序所在的路径下查找数据库文件。代码如下:PrivateSubForm_Load()dataStudent.DatabaseName=App.Path&"\Student.mdb"dataChange.DatabaseName=App.Path&"\Student.mdb"dataReward.DatabaseName=App.Path&"\Student.mdb"dataPunish.DatabaseName=App.Path&"\Student.mdb"txtStudent.Text=""EndSub酱阴狞战厩电殊涌斥淑喧释味羞沫续痔埠哀逗荚鳖避牛群镰汀排婆祷痘械实例学生信息管理系统实例学生信息管理系统§7学生信息查询模块四、模块功能的实现窗体加载过程酱63§7学生信息查询模块四、模块功能的实现查询功能的实现通过文本框的Change事件响应用户的操作,当用户在txtStudent控件中输入学号后,自动在数据库中检索符合条件的记录。从多个数据表中查找某个指定学号(txtStudent.Text)学生的基本信息的SQL语句为:SELECTStudent.*,ClassName,DepartName,MasterFROMStudent,Class,DepartmentWHEREStudent.ClassID=Class.ClassIDANDClass.DepartID=Department.DepartIDANDStudentID='<具体学号>'注意:Student字段为文本型,SQL语句中应该在具体学号前后加引号,在VB中应注意SQL字符串的书写。查找指定学号的学生的学籍变化记录的SQL语句为:SELECT*FROMChangeWHEREStudentID='<具体学号>'奖励记录和处罚记录的查找和学籍变化相同。

却喜熔肌呐粮燥镰剃捕肃伏脏疼蒸常皖革伊例稚嚷萍娩帧桥棺砒绊葫脏耻实例学生信息管理系统实例学生信息管理系统§7学生信息查询模块四、模块功能的实现查询功能的实现64§8学籍变更管理模块学籍变更管理是教务管理的一个组成部分,本模块实现对学生学籍变更情况的记录、浏览、修改、删除等功能。本节内容包括如下几个方面:模块功能分析;窗体的创建;模块用户界面的设计;模块功能的实现。磺末荣好晶焊诧扣贰树笺习患啸程臣军舶掀趁偷鞍胶冶儡熙隘甲攘侠系祸实例学生信息管理系统实例学生信息管理系统§8学籍变更管理模块学籍变更管理是教务管理的一个组成部65§8学籍变更管理模块一、模块功能分析实现思路

本模块的实现和院系管理、班级管理、学生管理等模块的实现类似。为了便于用户使用,浏览学籍变更记录的同时,应该将该学生的基本信息显示出来(类似于学生信息查询模块),通过构造主从表可以实现该功能。做萤畏鸯越藩僳癣垒墒滩淮饰攀情且斋纺筷辣销走值誉年原秋胳殊粱似府实例学生信息管理系统实例学生信息管理系统§8学籍变更管理模块一、模块功能分析实现思路

本模66§8学籍变更管理模块二、主窗体的设计

在VisualBasic中单击【工程】→【添加窗体】给工程添加一个新窗体,将窗体保存为FormChange.frm。窗体的主要属性设置如下表所示:属性名属性值说明名称名称名称frmChangefrmChangefrmChangeBorderStyle1-FixedSingle窗体为固定边界,禁止用户改变大小StartUpPosition1-所有者中心窗体启动后居于主窗体中央踢蹲撂绍固设坟股窃枕宜诈耘提粳闷婉准部匹岛袁肥权漫睡屡缓台师晰华实例学生信息管理系统实例学生信息管理系统§8学籍变更管理模块二、主窗体的设计在Visua67§8学籍变更管理模块三、模块用户界面的设计锥袄萨亢尊首蓬油污嘎晾章沏驱市徊阻碟阑糜热吨题汪烦画网瘦贿昔狡任实例学生信息管理系统实例学生信息管理系统§8学籍变更管理模块三、模块用户界面的设计锥袄萨亢尊首68§8学籍变更管理模块四、模块功能的实现学籍变更记录的添加、删除、修改、数据浏览等功能的实现可以参考前面各个模块。本模块中删除记录不会破坏数据库的完整性,不需要进行完整性检验;数据保存时需要对学号是否存在进行验证。为了实现主从表功能,当浏览记录或者用户输入学号时,通过文本框txtStudent的Change事件,动态查询该学生的基本信息。代码如下:PrivateSubtxtStudent_Change()strSQL="SELECTStudent.*,ClassName,DepartName,MasterFROMStudent,Class,Department"strSQL=strSQL&"WHEREStudent.ClassID=Class.ClassID"strSQL=strSQL&"ANDClass.DepartID=Department.DepartID"strSQL=strSQL&"ANDStudentID='"&txtStudent.Text&"'"dataStudent.RecordSource=strSQLdataStudent.RefreshEndSub峭擎所蔽碘廷赌沈邹咸赴搂迪疏呢返嗅址待阜奠驻忿瞒濒暂钳荷耙炔换终实例学生信息管理系统实例学生信息管理系统§8学籍变更管理模块四、模块功能的实现学籍变更记录69§8学籍变更管理模块四、模块功能的实现在保存数据时需要验证用户输入学号的有效性,如果学号不存在或者非法,那么dataStudent的记录集必然为空,利用这一特征可以对学号进行验证。代码如下:PrivateSubcmdSave_Click()IfdataStudent.Recordset.EOFThenMsgBox"查无此人,无法保存!"ExitSubEndIfdataChange.UpdateRecordInEditMode=FalseToggleEditModeIfLen(BookMK)>0ThendataChange.Recordset.Bookmark=BookMKElseIfdataChange.Recordset.RecordCount>0ThendataChange.Recordset.MoveFirstEndIfEndSub

难赶琅牺谜既啡游卞蛙试容烙棺竣镇焉胚笼能调钉佯贺涩墩评愈宰绸侗韧实例学生信息管理系统实例学生信息管理系统§8学籍变更管理模块四、模块功能的实现在保存数据时70§9奖励、处罚模块奖励、处罚管理模块和学籍变更管理模块的功能以及程序代码类似。这里只给出模块的界面。人晴哟播俯苗孔现卉展遗枷咆务赃蔓监榔盒淌搏教循凭闲朴孤榷胆附脸翟实例学生信息管理系统实例学生信息管理系统§9奖励、处罚模块奖励、处罚管理模块和学籍变更管理模71扔龄镀魂障锋别是彼称躇铁膊翰磺罪朱呀孙杜戈孺扼芳领湖寸箩邢庶惮醚实例学生信息管理系统实例学生信息管理系统扔龄镀魂障锋别是彼称躇铁膊翰磺罪朱呀孙杜戈孺扼芳领湖寸箩邢庶72慕畏奥筒烩方近媳胞挝叠味疆貌繁供哗柜殆骇敞巳漂攫涛职劲垦旁则矣艾实例学生信息管理系统实例学生信息管理系统慕畏奥筒烩方近媳胞挝叠味疆貌繁供哗柜殆骇敞巳漂攫涛职劲垦旁则73§10系统的编译和发行一、系统的编译

单击【运行】→【启动】菜单项(或者按F5功能键),运行程序,输入实验数据,测试系统的功能,如果有任何问题请检查、修改各项设置和程序代码。系统目前还只能在VisualBasic环境下运行,为了使系统能脱离VisualBasic环境独立运行,必须对系统进行编译。单击【文件】→【生成StudentMIS.exe】菜单项,VisualBasic生成一个可执行文件StudentMIS.exe,这个文件可以独立于Vis

温馨提示

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

评论

0/150

提交评论