管理信息系统实验教程

合集下载

管理信息系统实验课程教案

管理信息系统实验课程教案

管理信息系统实验课程教案一、课程简介1.1 课程背景随着信息技术的高速发展,管理信息系统(Management Information System, MIS)已经成为企业提高竞争力、优化管理的重要手段。

本课程旨在帮助学生了解管理信息系统的基本概念、理论框架和发展趋势,通过实践操作掌握管理信息系统的应用和管理技巧。

1.2 课程目标(1)理解管理信息系统的基本概念及其在企业管理中的重要作用。

(2)掌握管理信息系统的设计、实施和评估的基本方法。

(3)熟悉当前主流管理信息系统的功能和使用方法。

(4)提高学生在实际工作中运用管理信息系统进行决策和管理的能力。

二、教学安排2.1 课时安排本课程共计32课时,包括16次实验课,每次实验课2小时。

2.2 实验内容(1)第1-4次课:管理信息系统基本概念与理论基础。

(2)第5-8次课:主流管理信息系统软件的操作与应用。

(3)第9-12次课:管理信息系统项目管理与实施。

(4)第13-16次课:管理信息系统案例分析与讨论。

三、教学方法3.1 实验教学通过实验教学的方式,使学生能够在实际操作中掌握管理信息系统的基本概念和应用技能。

3.2 案例分析通过分析具体的管理信息系统案例,使学生了解管理信息系统在不同行业、不同规模企业的应用情况,提高学生的实际操作能力和解决问题的能力。

3.3 课堂讨论鼓励学生在课堂上积极提问、分享心得,促进学生之间的交流与合作。

四、实验材料与工具4.1 实验教材《管理信息系统》,作者:王丽丽,出版社:清华大学出版社。

4.2 实验工具(1)Microsoft Office系列软件(Word、Excel、PowerPoint等)。

(2)主流管理信息系统软件(如ERP、CRM等)。

五、课程评价5.1 平时成绩学生平时实验课的表现、作业完成情况等将计入最终成绩。

5.2 期末考核课程结束后,将进行期末考试,包括选择题、简答题和案例分析题,以检验学生对课程知识的掌握程度。

管理信息系统实验课程教案

管理信息系统实验课程教案

管理信息系统实验课程教案一、课程概述1.1 课程背景随着信息技术的高速发展,管理信息系统(Management Information Systems, MIS)已经成为企业提高竞争力、优化管理流程的重要手段。

本课程旨在通过理论与实践相结合的方式,使学生掌握管理信息系统的基本概念、原理和方法,培养学生的信息系统分析和设计能力。

1.2 课程目标(1)理解管理信息系统的基本概念、发展和分类。

(2)掌握管理信息系统的设计原理和方法。

(3)熟悉常见管理信息系统的应用和实践。

(4)培养学生运用管理信息系统解决实际问题的能力。

二、教学内容2.1 管理信息系统的基本概念(1)信息与信息系统(2)管理信息系统的作用与价值(3)管理信息系统的发展历程与趋势2.2 管理信息系统的组成与结构(1)信息系统的层次结构(2)信息系统的组成要素(3)信息系统的生命周期2.3 管理信息系统的设计方法(1)结构化方法(2)面向对象方法(3)敏捷开发方法2.4 管理信息系统的应用案例(1)企业资源规划(ERP)(2)客户关系管理(CRM)(3)供应链管理(SCM)(4)人力资源管理(HRM)三、教学方法与手段3.1 教学方法(1)讲授:讲解基本概念、原理和方法。

(2)案例分析:分析实际应用案例,加深对管理信息系统的理解。

(3)实验操作:动手实践,掌握管理信息系统的设计和应用。

(4)小组讨论:分组讨论,培养团队合作能力。

3.2 教学手段(1)多媒体课件:生动展示课程内容。

(2)实验软件:动手实践,加深理解。

(3)网络资源:查阅相关资料,拓宽视野。

四、教学安排4.1 课时安排共计32课时,其中包括理论讲授16课时,案例分析8课时,实验操作8课时。

4.2 教学进度安排(1)第1-4课时:管理信息系统的基本概念与发展趋势。

(2)第5-8课时:管理信息系统的组成与结构。

(3)第9-12课时:管理信息系统的设计方法。

(4)第13-16课时:管理信息系统的应用案例分析。

实验步骤_管理信息系统_[共5页]

实验步骤_管理信息系统_[共5页]

第十二章实验指导
233
③单击“保存到缓冲区”按钮,将数据保存到缓冲区如图12-12所示,在缓冲区中可以修
改所导入的员工信息。

确保无误后,单击“上传”按钮,完成导入员工的操作。

图12-12 导入员工信息之缓冲区
12.3.3 实验内容
①组员协助组长添加系统用户。

②员工信息管理:编辑员工基本信息、员工家庭信息和员工记录信息;搜索员工信息;查
看员工信息。

③设置ERP系统用户:查看或搜索系统用户信息;设置系统用户对系统的管理权限;设
置系统用户的密码。

12.3.4 实验步骤
1.系统用户管理
(1)添加系统用户
学生需要使用系统用户账号才能登录ERP系统,所以应该给每个学生添加系统用户账号,
给小组组长添加为“系统管理员”的角色,小组成员添加为“人力资源”和“超级用户”的角
色。

添加系统用户的操作步骤如下。

①展开安全模块,选择“用户管理”选项,打开“安全模块用户子模块”标签页,单击“添
加用户”按钮,打开“添加用户”标签页,输入“用户名称”,如std101;输入“密码”,如101;
输入“确认密码”,如101;在“用户类型”中选择“员工”,然后在“员工编号”选择框中单
击图标选择“B101”;在“注释”中输入“组长”文本,如图12-13所示。

图12-13 “添加用户”标签页。

管理信息系统实验课程教案

管理信息系统实验课程教案

管理信息系统实验课程教案第一章:管理信息系统概述1.1 课程介绍了解管理信息系统的基本概念、作用和重要性掌握管理信息系统的发展历程和趋势1.2 管理信息系统的基本组成了解管理信息系统的主要组成部分,包括硬件、软件、数据和人员理解各个组成部分之间的相互关系和作用1.3 管理信息系统的应用领域了解管理信息系统在不同行业和领域的应用实例掌握管理信息系统在不同场景下的作用和价值第二章:管理信息系统的设计与开发2.1 管理信息系统的设计方法掌握结构化设计方法、面向对象设计方法和敏捷设计方法等基本设计方法了解各种设计方法的特点、优缺点和适用场景2.2 管理信息系统的开发流程掌握管理信息系统开发的各个阶段,包括需求分析、系统设计、编码、测试和维护等理解各个阶段的目标、任务和关键活动2.3 管理信息系统开发工具与技术了解常用的管理信息系统开发工具,如UML、Visio、ERwin等掌握管理信息系统开发中常用的技术,如数据库技术、编程语言和Web技术等第三章:管理信息系统的实施与运行3.1 管理信息系统的实施策略掌握管理信息系统实施的基本原则和步骤了解不同实施模式的特点、优缺点和适用场景3.2 管理信息系统的运行管理掌握管理信息系统运行的基本管理和维护方法理解管理信息系统运行中的绩效评估和持续改进机制3.3 管理信息系统的安全与隐私保护了解管理信息系统安全的基本概念、目标和威胁掌握管理信息系统安全防护的基本技术和策略第四章:管理信息系统的应用与实践4.1 管理信息系统在企业中的应用了解管理信息系统在企业中的应用实例,如ERP、CRM、SCM等掌握管理信息系统在企业中的应用价值和挑战4.2 管理信息系统在政府部门的应用了解管理信息系统在政府部门中的应用实例,如电子政务、电子保单等掌握管理信息系统在政府部门中的应用价值和挑战4.3 管理信息系统在教育领域的应用了解管理信息系统在教育领域的应用实例,如在线教育、学生管理系统等掌握管理信息系统在教育领域的应用价值和挑战第五章:管理信息系统的未来发展趋势5.1 管理信息系统的发展趋势了解管理信息系统未来的发展趋势,如大数据、云计算、等掌握各种发展趋势的特点、影响和应用场景5.2 管理信息系统的创新应用了解管理信息系统在创新应用领域的实例,如物联网、区块链等掌握管理信息系统在创新应用中的价值和挑战5.3 管理信息系统的教育与培训了解管理信息系统教育和培训的重要性掌握管理信息系统教育和培训的基本方法和资源第六章:管理信息系统中的数据管理6.1 数据管理的重要性强调数据在管理信息系统中的核心作用解释数据管理对于组织决策和运营的影响6.2 数据建模与数据库设计介绍数据建模的概念和技术教授如何设计高效、可靠的数据库结构6.3 数据治理与数据质量阐述数据治理的最佳实践探讨如何确保数据的准确性和一致性第七章:管理信息系统中的业务流程管理7.1 业务流程管理的基本概念定义业务流程管理(BPM)及其重要性探讨流程优化和自动化对组织的益处7.2 业务流程分析与设计教授如何分析现有业务流程展示如何设计新的或改进的业务流程7.3 业务流程实施与监控讨论如何有效地实施和监控业务流程强调持续改进和适应变化的重要性第八章:管理信息系统中的项目管理8.1 项目管理概述介绍项目管理的基本原则和框架解释项目管理在管理信息系统实施中的作用8.2 项目规划与管理教授项目规划、进度安排和资源分配探讨项目风险管理和质量保证策略8.3 项目工具与技术介绍项目管理工具和技术,如Gantt图、敏捷方法论等展示如何选择和应用这些工具和技术第九章:管理信息系统中的决策支持系统9.1 决策支持系统(DSS)的定义与特点解释DSS如何辅助非结构化决策讨论DSS的设计原则和关键特性9.2 DSS的组件与架构介绍DSS的主要组成部分,如数据、模型、用户界面等阐述DSS的系统架构和交互流程9.3 DSS在实践中的应用探讨DSS在不同行业和部门的应用案例分析DSS在决策过程中的实际效益第十章:管理信息系统中的战略规划与信息技术10.1 信息技术与战略规划的关系强调信息技术在组织战略规划中的作用讨论如何将信息技术与组织战略相结合10.2 信息技术投资评估教授如何评估信息技术投资的可行性和效益介绍投资评估的方法和工具10.3 信息技术规划与实施阐述如何制定全面的IT规划讨论IT规划的实施策略和挑战重点解析重点:管理信息系统的基本组成、设计开发流程、实施与运行管理、应用实践以及未来发展趋势。

《管理信息系统设计》实验指导书

《管理信息系统设计》实验指导书

管理信息系统设计实验一、管理信息系统需求分析1.实验目的掌握建立管理信息系统逻辑模型的方法与软件工具,能够使用Microsoft Visio软件绘制数据流图,并使用Microsoft word软件撰写数据字典。

2.实验类型设计型。

3.实验原理数据流分析是把数据在原系统内部的流动情况抽象出来,抽象地反映信息的流动、加工、存储和使用情况。

数据流分析按照自顶向下、逐层分解、逐步细化的结构化分析方式进行,通过分层的数据流图(Data Flow Diagram,DFD)实现。

数据流图是用规定的基本图形直观描述数据的流动及其处理、存储的图示。

数据流图的特点:抽象性,概括性,分层性。

数据流图依据“自顶向下、从左到右、由粗到细、逐步求精”的基本原则进行绘制。

(1)顶层图的绘制顶层图只有1张,说明系统的边界。

顶层图只包括外部的源和宿(□)、系统处理(○),外界的源流向系统的数据流和系统流向外界的宿的数据流。

不包含文件,文件属于软件系统内部对象。

(2)0层图的绘制0层图只有1张,把顶层图的加工分解成几个部分。

0层图中包括软件系统的所有第1层加工、图中包括各个加工与外界的源或宿之间的数据流、各个加工之间的数据流、1个以上加工需要读或写的文件。

不包含外界的源或宿,只有1个加工使用的文件。

(3)第2层(1层图)及以下各层中各个加工的子图的绘制一个子图对应上层的一个加工,该子图内部细分为多个子加工。

子图中包括父图中对应加工的输入输出数据流、子图内部各个子加工之间的数据流以及读写文件的数据流。

(4)数据流图中各元素的标识1)命名数据流的命名:大多数数据流必须命名,但流向文件或从文件流出的数据流不必命名。

加工的命名:每个加工必须命名。

文件的命名:每个文件必须命名。

源/宿的命名:源/宿只在顶层图上出现,也必须命名。

命名规则:先为数据流命名,后为加工命名,数据流的名称一经确定,加工的名称便一目了然。

2)编号每个数据加工环节和每张数据流图都要编号,按逐层分解的原则,父图与子图的编号要保持一致性。

管理信息系统实验课程教案

管理信息系统实验课程教案

管理信息系统实验课程教案一、课程简介1.1 课程背景随着信息技术的高速发展,管理信息系统(Management Information Systems, MIS)已成为企业提高竞争力、优化管理流程、提升决策质量的重要手段。

本课程旨在培养学生对管理信息系统的理解,使其掌握信息系统的基本概念、技术及其在企业管理中的应用。

1.2 课程目标通过本课程的学习,学生将能够:理解管理信息系统的基本概念及其在企业中的作用。

掌握信息系统的生命周期及其开发方法。

熟悉常用的信息系统开发工具和技术。

了解信息系统项目管理的基本原则和方法。

二、教学内容2.1 管理信息系统的基本概念信息与信息系统管理信息系统的作用与价值信息系统的类型与结构2.2 信息系统的生命周期需求分析系统设计系统实施与运行系统评估与升级2.3 信息系统开发方法结构化方法面向对象方法敏捷开发方法2.4 信息系统开发工具结构化分析工具(如数据流图、实体关系图)编程语言(如Java、Python)数据库管理系统(如MySQL、Oracle)三、教学方法3.1 讲授与案例分析教师将结合理论讲授与案例分析,帮助学生理解管理信息系统的基本概念、技术和实际应用。

3.2 实验操作通过实验课,学生将亲手操作信息系统开发工具,实践生命周期中的各个阶段,增强对理论知识的实际应用能力。

3.3 小组讨论与报告学生将分组进行讨论,针对特定案例或项目进行分析和报告,培养团队协作和沟通能力。

四、实验安排4.1 实验一:需求分析与数据流图学习如何收集用户需求。

利用数据流图(DFD)表达系统的基本功能。

4.2 实验二:实体关系图与数据库设计学习如何进行数据建模。

利用实体关系图(ERD)设计数据库结构。

4.3 实验三:结构化分析与UML学习结构化分析的基本技巧。

利用统一建模语言(UML)进行系统设计。

4.4 实验四:简单的编程练习学习基础编程语言。

编写简单的信息系统程序。

4.5 实验五:数据库操作与SQL学习使用数据库管理系统。

学生信息管理系统实验内容以及步骤

学生信息管理系统实验内容以及步骤

学生信息管理系统实验内容以及步骤学生信息管理系统实验内容以及步骤如下:一、实验内容1.设计并实现一个学生信息管理系统,能够对学生信息进行有效的管理。

2.系统功能要求:•学生信息录入:能录入学生的基本信息,如姓名、学号、性别、专业、联系电话等。

•学生信息查询:能根据学号、姓名等条件查询学生信息。

•学生信息修改:能对学生信息进行修改。

•学生信息删除:能删除学生信息。

•学生信息统计:能统计学生的总数、男生数、女生数等信息。

3.实验中需要注意的问题:•数据的一致性和完整性:确保录入的学生信息是准确和完整的。

•系统的可扩展性和可维护性:设计时需要考虑未来的需求变化和技术更新。

二、实验步骤1.系统需求分析:明确系统的功能需求和非功能需求,进行详细的需求调研和分析。

2.系统设计:根据需求分析结果,设计系统的整体架构、数据库结构、界面设计等。

3.系统开发:编写代码实现系统的各项功能。

4.系统测试:对系统进行全面测试,确保各项功能都能正常运行,并修复可能存在的问题。

5.系统部署与维护:将系统部署到实际使用环境中,并进行持续的维护和升级。

6.实验总结与报告撰写:对实验过程进行总结,并撰写详细的实验报告。

具体实验步骤可能因不同的实验环境和要求而有所不同,以上步骤仅供参考。

在实验过程中,需要注意安全问题,如保护学生隐私、防止数据泄露等。

同时,也需要遵守相关的法律法规和伦理规范,确保实验的合法性和道德性。

此外,对于学生信息管理系统来说,系统的安全性和稳定性是非常重要的。

在实验过程中,需要注意对系统的安全防护措施进行测试和验证,确保系统能够抵御常见的网络攻击和恶意行为。

同时,也需要对系统的稳定性和可靠性进行测试,确保系统在实际使用中能够正常运行,并保证数据的准确性和完整性。

总之,学生信息管理系统实验是一个综合性、实践性的实验项目,需要学生在实践中掌握系统的设计、开发、测试和维护等技能,同时也需要学生对相关的理论知识和技术规范进行深入学习和理解。

管理信息系统第十章 管理信息系统实验指导书[精]

管理信息系统第十章 管理信息系统实验指导书[精]

一、实验类型:基本实验
二、实验目的与要求:
熟悉信息系统的主要分析方法。 熟悉组织结构图的各符号表示的意义,理解其在信息系
统分析中的作用,并学会绘制组织结构图; 熟悉业务流程图的各符号表示的意义,理解其在信息系
统分析中的作用,并学会绘制业务流程图。
三.实验内容、方法和步骤:
阅读教材第九章案例分析中案例中的系统分析部分,学 习管理信息系统分析的方法。
5、使用BROWSE命令浏览数据表的内容,使用 EDIT命令在窗口中修改数据表的值;
6、利用工具栏按钮打开和关闭数据工作期窗口, 在数据工作期窗口中对数据表进行浏览、修改。
四. 思考题: 在成绩信息表中新增一条记录,如果“学
号”字段的值在学生信息表的“学号”字 段中并不存在,这样是否正确?为什么? 在成绩信息表中新增记录时,如何保证每 条记录的唯一性?为什么?请举例说明。
一、实验类型:基本实验 二、实验目的与要求:
1、熟悉信息系统的主要设计方法。
2、掌握数据库的设计方法和网络计划图的绘制方 法。
3、掌握输入输出界面的设计方法。
三.实验内容、方法和步骤:
1、阅读第九章案例分析中案例中的系统设计部分, 学习管理信息系统设计的方法。
2、做下列练习题,学习设计数据库、绘制网络计 划图和输入输出界面界面的方法。
运行环境,包括“文件位置的默认目录”、“表 单”、“语法着色”等; 2、新建项目Student,熟悉项目管理器界面结构、功 能以及新建、添加、修改等按钮的使用方法;
3、在项目管理器中新建数据库Student,然后在数 据库中新建三个表
4、利用工具栏按钮打开和关闭命令窗口,在命令 窗口中进行数据表的基本操作,在命令窗口中使用 USE命令打开和关闭数据库和表,使用APPEND命 令和REPLACE命令新增一条记录;使用SQL语句 INSERT、SELECT、UPDATE、DELETE进行数据表 的新增、查询、修改、删除操作;将每个表的记录 增加为5条以上;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

管理信息系统设计与实践实验教程陈继红编著计算机科学与技术学院第1章实验的目的与基本要求一、实验目的学习设计与开发管理信息系统的基本方法和技能,进一步加深管理信息系统的设计原理及方法的理解,熟练掌握用C++ Builder开发管理信息系统方法。

为毕业设计打下坚实的基础。

二、实验要求1. 上机前要做好充分的准备,包括设计方案、程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。

2. 上机时要遵守实验室的规章制度,爱护实验设备。

要熟悉与实验有关的系统软件、开发环境的使用方法。

在程序的调试过程中,有意识地学习及掌握集成环境调试程序的方法及技巧。

为了更好地进行上机管理,要求用硬盘储存程序,并建立和使用子目录,以避免文件被别人删除。

3.程序调试完后,须由实验指导教师在机器上检查运行结果。

每个实验完成后,应写出实验报告。

实验报告的要求如下:①设计说明:用来说明设计的内容。

它包括:程序名、功能、原理及算法说明、程序及数据结构、主要符号名的说明等。

②调试说明:便于学生总结经验提高编程及调试能力。

它包括:调试情况,如上机时遇到的问题及解决办法,观察到的现象及其分析,对程序设计技巧的总结及分析等;程序的输出结果及对结果的分析;实验的心得体会等。

③程序框图。

④程序清单。

第2章主窗体的设计与实现一、实验目的与要求1.熟悉C++ Builder开发环境。

2.掌握主窗体的设计方法。

二、实验内容新建一个工程,完成主窗体的设计。

主窗体包括菜单栏、工具栏及状态栏。

运行界面如图所示:三、设计步骤1.新建一个工程,方法为:File → New → Application。

23.在窗体中加入MainMenu、ImageList、ToolBar、StatusBar控件各一个,分别设置各控件属性:(1) 双击MainMent1控件,添加“系统管理”、“员工管理”2个一级菜单;在“系统管理”中添加“口令维护”、“操作员管理”、“退出”3个二级菜单;在“员工管理”中添加“员工信息维护”、“员工信息管理” 2个二级菜单。

方法是:设置相应菜单栏的Caption属性。

(2) 双击ImageList1控件,点击“Add”按钮,选择C++ Builder安装所在盘的Program Files\Borland\Borland Shared\Images\Buttons文件夹下的bmp图片,由于所选图片大小大于ImageList组件规定的图片大小,系统提示是否分为2个图片,点击“Yes”按钮,然后删除灰色图片。

采用此法,添加所需的图片。

(3) 双击StatusBar1控件,点击“Add New(Ins)”按钮,添加3个TStatusPanel,设置第一个TStatusPanel属性:(4) 选择ToolBar1控件,点击鼠标右键,新建3个Button和1个Separator,并设置分隔条的Style属性为“tbsDivider”;设置ToolBar1组件的Images属性为“ImageList1”。

可设置ToolButton的ImageIndex 属性选择不同的图标。

若要实现当鼠标移至快捷工具时,显示提示信息,可设置ToolButton的Hint属性,并将ShowHint属性设为true。

(5) 保存工程,方法为:File → Save All。

首先保存的是窗体的代码文件(文件名为main),然后保存的是工程文件(文件名为Employee)。

(6) 运行程序,方法为点击绿色三角快捷按钮。

中止程序运行可点击菜单Run → Program Reset。

(7) 编写代码退出程序,方法是:双击系统管理下的退出菜单,系统自动进入代码窗口,输入代码以下代码:void __fastcall TMainForm::N8Click(TObject *Sender){Close(); //此语句由键盘输入}第3章登录窗体的设计与实现一、实验目的与要求1.掌握Access数据库的建立方法。

2.掌握登录窗体的设计方法。

3.掌握C++ Builder连接数据库的方法。

二、实验内容打开实验一设计的工程文件,新建一个登录窗体。

运行界面如图所示:三、设计步骤1.在SQL Server中新建一个数据库employee,在employee库中新建一张表operator,表结构如下,其中:gongh字段为主键。

2.在实验一设计的主窗体中,加入ADOConnection控件,并设置属性:3.新建登录窗体,方法为:File → New → Form。

设置窗体属性,并以login.cpp文件名保存。

4.在窗体中加入7个Label控件、2个Edit控件、2个BitBtn控件、1个Bevel控件、1个ADOQuery控件,分别设置各控件属性:注:要完成ADOQuery1控件的Connection属性设置,主窗体中必须包含登录窗体的“头文件(login.h)”,同时登录窗体中也必须包含主窗体的“头文件(main.h)”。

包含“头文件”的方法是:File → Include Unit Hdr...,然后双击相应窗体。

5.编写代码:(1)在主窗体的头文件(main.h)中,定义两个公有变量:bool loginok;AnsiString username;(2)在主窗体的OnShow事件中编写如下代码:void __fastcall TMainForm::FormShow(TObject *Sender){loginok=false;Fm_login->ShowModal(); //调用登录窗体if(!loginok)Close();}(3)在登录窗体的bt_login按钮的OnClick事件中编写如下代码:void __fastcall TFm_login::bt_loginClick(TObject *Sender){static int count;AnsiString S;S="select * from operator where gongh='"+Edit1->Text+"' and koul='"+Edit2->Text+"'";pwdQuery->Close();pwdQuery->SQL->Clear();pwdQuery->SQL->Add(S);pwdQuery->Open();if(pwdQuery->Eof){count++;if(count>=3){pwdQuery->Close();Fm_login->Close();MainForm->Close();}Application->MessageBox("用户名或密码错误,请重新输入!", "错误", MB_ICONERROR+MB_OK);Edit2->Text="";Edit2->SetFocus();}else{MainForm->loginok=true;MainForm->StatusBar1->Panels->Items[1]->Text="操作员:"+pwdQuery->FieldByName("xingm")->AsString;Edit1->Text="";Edit2->Text="";pwdQuery->Close();Fm_login->Close();}}(4)在登录窗体的bt_exit按钮的OnClick事件中编写如下代码:void __fastcall TFm_login::bt_exitClick(TObject *Sender){Close();MainForm->Close();}(5) 在登录窗体的Edit1的OnKeyPress事件中编写如下代码:void __fastcall TFm_login::Edit1KeyPress(TObject *Sender,char &Key) {if(Key==char(13))SelectNext((TWinControl*)(Sender),true,true);//回车后自动进入下一控件}(6) 设置Edit2的OnKeyPress事件指向Edit1的OnKeyPress事件(7) 设置窗体中各控件顺序的方法是:点击窗体空白处,再点击鼠标右键,选择Tab Order菜单后调整控件顺序。

第4章通用录入窗体的设计与实现一、实验目的与要求1.掌握通用录入窗体的设计方法。

2.掌握C++ Builder访问数据库的方法。

二、实验内容打开实验一设计的工程文件,新建一个录入窗体。

运行界面如图所示:三、设计步骤1.在employee数据库中新建表stuff,表结构如下,其中:bh字段为主键,不是必填的文本型字段,允许空字符串设为“是”。

2.在employee数据库中新建表basic,表结构如下,其中:xm、sjnr为主键,不是必填的文本型字段,允许空字符串设为“是”。

建完后输入各种学历、隶属部门、职务等信息。

3.新建登录窗体,方法为:File → New → Form。

设置窗体属性,并以employee.cpp文件名保存。

4.在窗体中加入11个Label控件并分别设置它们的Caption属性、7个DBEdit及4个DBComboBox控件、9个BitBtn控件并设置它们的Caption和Glyph 属性(其中检索、退出按钮后面还有查询(b_Search)、取消(b_Cancel)按钮)、2个ADOQuery控件、1个DataSource控件、1个DBNavigator控件、1个DBGrid 控件和一个Edit控件(在DBEdit2后面),部分控件属性设置如下:将7个DBEdit和4个DBComboBox控件的Name属性依次设为DBEdit1~DBEdit115.编写代码:(1) 在窗体的头文件中,定义3个公有函数和2个变量:void __fastcall DBEditTrue(); //使输入框可用void __fastcall DBEditFalse(); //使输入框不可用void __fastcall autoinc(); //编号自动+1AnsiString Temp,VBh;(2) 在窗体的代码窗口添加两个自定义函数:void __fastcall TFm_employee::DBEditTrue(){DBEdit1->Enabled=true;DBEdit2->Enabled=true;DBEdit3->Enabled=true;DBEdit4->Enabled=true;DBEdit5->Enabled=true;DBEdit6->Enabled=true;DBEdit7->Enabled=true;DBEdit8->Enabled=true;DBEdit9->Enabled=true;DBEdit10->Enabled=true;DBEdit11->Enabled=true;}//------------------------------------------------------------ void __fastcall TFm_employee::DBEditFalse(){DBEdit1->Enabled=false;DBEdit2->Enabled=false;DBEdit3->Enabled=false;DBEdit4->Enabled=false;DBEdit5->Enabled=false;DBEdit6->Enabled=false;DBEdit7->Enabled=false;DBEdit8->Enabled=false;DBEdit9->Enabled=false;DBEdit10->Enabled=false;DBEdit11->Enabled=false;}//------------------------------------------------------------ void __fastcall TFm_employee::autoinc() //编号自动+1{try{employeeQuery->Post();}catch(...){Temp=DBEdit1->Text;Temp=IntToStr(StrToInt(Temp)+10001);VBh=Temp.SubString(2,4);DBEdit1->Field->Text=VBh;autoinc();}}(3) 在窗体的OnShow事件中编写如下代码:void __fastcall TFm_employee::FormShow(TObject *Sender){AnsiString S;ShortDateFormat="yyyy-mm-dd"; //设定日期格式S="select * from stuff";employeeQuery->Close();employeeQuery->SQL->Clear();employeeQuery->SQL->Add(S);employeeQuery->Open();bt_new->Enabled=true;bt_modify->Enabled=true;bt_delete->Enabled=true;bt_search->Enabled=true;bt_save->Enabled=false;bt_cancel->Enabled=false;DBEditFalse();if(employeeQuery->IsEmpty()){bt_modify->Enabled=false;bt_delete->Enabled=false;}//下拉内容S="select * from basic where xm='学历'";Query->Close();Query->SQL->Clear();Query->SQL->Add(S);Query->Open();DBEdit5->Items->Clear();if(!Query->IsEmpty()){while(!Query->Eof){DBEdit5->Items->Add(Query->FieldByName("sjnr")->AsString); Query->Next();}}S="select * from basic where xm='部门名称'";Query->Close();Query->SQL->Clear();Query->SQL->Add(S);Query->Open();DBEdit6->Items->Clear();if(!Query->IsEmpty()){while(!Query->Eof){DBEdit6->Items->Add(Query->FieldByName("sjnr")->AsString); Query->Next();}}S="select * from basic where xm='职务'";Query->Close();Query->SQL->Clear();Query->SQL->Add(S);Query->Open();DBEdit7->Items->Clear();if(!Query->IsEmpty()){while(!Query->Eof){DBEdit7->Items->Add(Query->FieldByName("sjnr")->AsString); Query->Next();}}}(4) 在窗体的bt_new按钮的OnClick事件中编写如下代码:void __fastcall TFm_employee::bt_newClick(TObject *Sender){AnsiString S;DBNavigator1->Enabled=false;bt_search->Enabled=false;bt_new->Enabled=false;bt_save->Enabled=true;bt_modify->Enabled=false;bt_delete->Enabled=false;bt_cancel->Enabled=true;DBEditTrue();S="select Max(bh) as bh from stuff";Query->Close();Query->SQL->Clear();Query->SQL->Add(S);Query->Open();Temp=Query->FieldByName("bh")->AsString;if(Temp!=""){Temp=IntToStr(StrToInt(Temp)+10001);VBh=Temp.SubString(2,4);}elseVBh="0001";employeeQuery->Append();DBEdit1->Field->Text=VBh;DBEdit2->SetFocus();}(5) 在窗体的bt_modify按钮的OnClick事件中编写如下代码:void __fastcall TFm_employee::bt_modifyClick(TObject *Sender) {DBNavigator1->Enabled=false;bt_search->Enabled=false;bt_new->Enabled=false;bt_save->Enabled=true;bt_modify->Enabled=false;bt_delete->Enabled=false;bt_cancel->Enabled=true;DBEditTrue();employeeQuery->Edit();DBEdit2->SetFocus();}(6) 在窗体的bt_delete按钮的OnClick事件中编写如下代码:void __fastcall TFm_employee::bt_deleteClick(TObject *Sender){if (MessageDlg("确认数据删除吗?", mtConfirmation, TMsgDlgButtons() << mbYes << mbNo, 0) == mrYes){employeeQuery->Delete();if (employeeQuery->IsEmpty()){bt_new->Enabled=true;bt_save->Enabled=false;bt_modify->Enabled=false;bt_delete->Enabled=false;bt_cancel->Enabled=false;bt_search->Enabled=false;}}}(7) 在窗体的bt_save按钮的OnClick事件中编写如下代码:void __fastcall TFm_employee::bt_saveClick(TObject *Sender) {autoinc();DBNavigator1->Enabled=true;bt_search->Enabled=true;bt_new->Enabled=true;bt_save->Enabled=false;bt_modify->Enabled=true;bt_delete->Enabled=true;bt_cancel->Enabled=false;DBEditFalse();bt_new->SetFocus();}(8) 在窗体的bt_cancel按钮的OnClick事件中编写如下代码:void __fastcall TFm_employee::bt_cancelClick(TObject *Sender) {employeeQuery->Cancel();DBNavigator1->Enabled=true;bt_search->Enabled=true;bt_new->Enabled=true;bt_save->Enabled=false;bt_modify->Enabled=true;bt_delete->Enabled=true;bt_cancel->Enabled=false;DBEditFalse();if(employeeQuery->IsEmpty()){bt_search->Enabled=false;bt_modify->Enabled=false;bt_delete->Enabled=false;}}(9) 在窗体的bt_search按钮的OnClick事件中编写如下代码:void __fastcall TFm_employee::bt_searchClick(TObject *Sender) {DBEdit2->Visible=false;Edit100->Visible=true;DBNavigator1->Enabled=false;bt_new->Enabled=false;bt_save->Enabled=false;bt_modify->Enabled=false;bt_delete->Enabled=false;bt_cancel->Enabled=false;bt_search->Visible=false;bt_exit->Visible=false;b_Cancel->Visible=true;b_Search->Visible=true;Edit100->SetFocus();Edit100->Text="";}(10) 在窗体的b_Search按钮的OnClick事件中编写如下代码:void __fastcall TFm_employee::b_SearchClick(TObject *Sender) {AnsiString S;if(Edit100->Text!=""){S="select * from stuff where xm like '%"+Edit100->Text+"%'"; employeeQuery->Close();employeeQuery->SQL->Clear();employeeQuery->SQL->Add(S);employeeQuery->Open();if(employeeQuery->IsEmpty()){S="select * from stuff ";employeeQuery->Close();employeeQuery->SQL->Clear();employeeQuery->SQL->Add(S);employeeQuery->Open();Application->MessageBox("未找到匹配记录!", "信息", MB_ICONINFORMATION);}}DBEdit2->Visible=true;Edit100->Visible=false;bt_search->Visible=true;bt_exit->Visible=true;b_Cancel->Visible=false;b_Search->Visible=false;DBNavigator1->Enabled=true;bt_new->Enabled=true;bt_modify->Enabled=true;bt_delete->Enabled=true;if (employeeQuery->IsEmpty()){bt_modify->Enabled=false;bt_delete->Enabled=false;}}(11) 在窗体的b_cancel按钮的OnClick事件中编写如下代码:void __fastcall TFm_employee::b_CancelClick(TObject *Sender){DBEdit2->Visible=true;Edit100->Visible=false;bt_search->Visible=true;bt_exit->Visible=true;b_Cancel->Visible=false;b_Search->Visible=false;DBNavigator1->Enabled=true;bt_new->Enabled=true;bt_modify->Enabled=true;bt_delete->Enabled=true;if (employeeQuery->IsEmpty()){bt_modify->Enabled=false;bt_delete->Enabled=false;}}(12) 在窗体的bt_exit按钮的OnClick事件中编写如下代码:void __fastcall TFm_employee::bt_exitClick(TObject *Sender){Close();}(13) 在窗体的DBEdit1的OnKeyPress事件中编写如下代码:void __fastcall TFm_employee::DBEdit1KeyPress(TObject *Sender, char &Key){if(Key==char(13))SelectNext((TWinControl*)(Sender),true,true);}(14) 在窗体的DBEdit11的OnKeyPress事件中编写如下代码:void __fastcall TFm_employee::DBEdit11KeyPress(TObject *Sender, char &Key){if(Key==char(13))bt_save->SetFocus();}(15) 设置窗体中各控件顺序的方法是:点击窗体空白处,再点击鼠标右键,选择Tab Order菜单后调整控件顺序。

相关文档
最新文档