火车售票系统课程设计报告-姚宇.doc_第1页
火车售票系统课程设计报告-姚宇.doc_第2页
火车售票系统课程设计报告-姚宇.doc_第3页
火车售票系统课程设计报告-姚宇.doc_第4页
火车售票系统课程设计报告-姚宇.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、沈 阳 工 程 学 院课 程 设 计设计题目: 火车票管理系统 系 别 信息工程系 班级 网络本101 学生姓名 刘雨娇 金兆宁 姚宇 夏林 学 号 02 13 19 24 指导教师 孙宪丽 、杨弘平 职称 副教授 、副教授 起止日期:2012年12月3日起-至2012年12月7日止沈 阳 工 程 学 院课程设计任务书课程设计题目: 火车票管理系统 系 别 信息工程系 班级 网络本101学生姓名 刘雨娇 金兆宁 姚宇 夏林 学 号 02 13 19 24 指导教师 孙宪丽、杨弘平 职称 副教授 、副教授课程设计进行地点: 实训F 任 务 下 达 时 间: 2012 年 12 月 3 日起止日期

2、: 2012年12月3日起-至2012年12月7日止教研室主任 年 月 日批准1. 设计的原始资料及依据查阅有关数据库设计、Java语言程序设计以及案例分析等资料,进一步熟悉面向对象程序设计基本理论以及基本思想。本设计要求按照软件工程、数据库设计思想及设计步骤设计一个实用程序,并采用Java开发该系统。通过本设计可以加深对面向对象程序设计基本思想的理解,加强学生研发、调试程序的能力,培养学生分析、解决问题的能力,提高学生的科技写作能力。2设计的主要内容及要求(1)写出系统的需求分析.(2)写出系统的数据库设计过程,包括概念结构设计、逻辑结构设计、物理结构设计.(数据库应用程序管理系统类设计详细

3、写,其它类设计可以略)(3)写出系统设计思路工作原理、功能规划。(4)详细设计-数据分析、算法思路、类设计、功能实现(包括程序流程图、主要代码及注释)、界面等。(5)运行调试与分析讨论-给出运行屏幕截图,分析运行结果,有何改进等。3。对设计说明书撰写内容、格式、字数的要求(1)学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计说明书(论文)的结构及各部分内容要求参照沈阳工程学院毕业设计(论文)撰写规范执行.应做到文理通顺,内容正确完整,书写工整,装订整齐。(2)装订格式:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、结论、致谢、参考文献.(3)课程设计说明书(

4、论文)是体现和总结课程设计成果的载体,一般不应少于3000字。4。 设计完成后应提交成果的种类、数量、质量等方面的要求(1)每组提交一份课程设计报告.(2)每组提交一份课程设计成品.5.时间进度安排顺序阶段日期计 划 完 成 内 容备注112.3充分解读题目内容,进行需求分析设计。212.4系统功能结构设计,数据库设计。312。5单元模块设计及调试。412.6单元模块设计及调试。512.7成绩评定以及撰写课程设计报告6.主要参考资料(文献)1 耿详义.JAVA2教程。北京:清华大学出版社,2004。2张仿彦.JAVA项目开发全程实录。北京:清华大学出版社,2007。3 杨小虎.软件工程课程设计

5、.浙江:浙江大学出版社,2007。4 韩万江.软件工程案例教程.北京:机械工业出版社,2007。5 萨师煊,王珊著.数据库系统概论。北京:高等教育出版社,2003.沈 阳 工 程 学 院 面向对象程序设计 课程设计成绩评定表系(部): 信息工程系 班级: 网络本101 学生姓名: 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0。25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜.0。25432说明书的质

6、量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0。25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范.0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评 阅 教 师 签 名: 年 月

7、 日课 程 设 计 总 评 成 绩分摘 要随着Internet和Intranet技术的发展,人们对网络信息的需求越来越大,对网络数据库的交互和查询速度等性能的要求也越来越高。未来火车站的发展趋势是完全自动化的售票信息查询,网络订票,智能化订票,而且随着计算机的普及,信息处理量的逐渐扩大,手工处理方式已经远远不能满足人们管理活动的需要,各种工作都逐渐由手工转为自动化,将使许多复杂、繁琐、且需要很多人力的工作变得简单。火车站售票管理是本系统的根本任务,通过实现票务信息的计算机管理,以提高工作效率。实现计算机管理的最佳技术就是数据库技术。我们可以利用数据库将整个火车站的票务情况存入计算机,再配置上功

8、能丰富的用户接口,以满足用户需求。 基于这样的背景并考虑到一定的实际意义及于我们将实践与理论结合起来,我们组在这次课设中选择了“火车售票管理系统"。在这次课设中我们使用Java技术来开发该火车票管理系统。因而在本报告中介绍了系统的开发环境以及开发工具,对Java在系统上的应用设计思想做了一个全面的叙述,对于系统中数据库中的数据表之间的具体关联等方面也做出了详细说明,并且具体讲述了系统各个功能模块的设计以及实现过程。关键词 火车售票管理系统 Java技术 网络数据库目 录摘要I第1章 绪论11。1 项目背景11.2 编写目的11。3 开发环境11。3.1 硬件环境11。3。2 软件环境

9、1第2章 系统功能介绍32.1 系统功能总框图32.2 模块功能介绍32。2.1 系统登录32。2.2 管理员登录32.2。3 普通用户登录42.3组内任务分工4第3章 数据库设计53。1 数据库需求分析53。2 数据流图53。3 数据库概念结构设计63.4 数据库表的设计7第4章 系统功能实现104.1 登陆系统104.2 管理员系统114。2。1 用户管理114。2。2 票务管理204.3 普通用户登录214。3。1 查询214.3。2 售票27结论31致谢32参考文献33第1章 绪论信息社会的高科技,商品经济的高效益,使计算机的应用普及到经济和社会生活的各个领域。计算机与人类的关系愈来愈

10、密切,计算机操作为人们带了越来越多的便利。为了适应现代社会人们高度强烈的时间观念,火车票管理系统将会为人们带来极大的方便。1.1 项目背景在火车大力普及的今天,一个火车站售票信息管理系统应达到的目标是提供及时、广泛的信息服务,加快信息检索的效率,实况灵活的查询,减轻管理人员制作报表和统计分析的负担,且系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,方便日后统一联网与管理,提高管理水平。根据以上的设计目标和要求,本设计用Java编程语言结合微软的Access数据库进行开发,主要完成查询、售票、及对票务和用户进行管理等功能。其实火车售票系统用计算机管理火车站票务信息的一种计算机应用

11、技术的创新,在计算机还未普及之前售票业务都是由工作人员人工完成的、查询方式来操作的.现在一般的车站售票业务都采用计算机智能化管理,采用计算机作为工具的实用的计算机订单管理程序来帮助前台管理员进行更有效的车票业务查询,出售管理工作。火车售票管理系统是典型的信息管理系统(MIS):其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析:我们使用Java编程语言开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间

12、内建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。文档为个人收集整理,来源于网络个人收集整理,勿做商业用途1。2 编写目的电脑的渐渐普及,以及互联网所容纳的信息量大、内容丰富、信息及时、准确,更有相关信息的全面介绍与比较。为了人们在火车站购买车票以及售票员对车票的、管理、查询以及相应的操作变的简单,开发这样一个火车票管理系统成为很有必要的事情.1.3 开发环境1。3。1 硬件环境PC机。1.3。2 软件环境 操作系统:Windows XP 开发工具:EclipseEclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发

13、,但是目前亦有人通过插件使其作为C+、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE.Eclipse采用的技术是IBM公司开发的(SWT),这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件;不过IBM声称SWT比其他Java窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式

14、附加于Eclipse核心之上。Eclipse基本内核包括:图形API (SWT/Jface), Java开发环境插件(JDT),插件开发环境(PDE)等。 数据库:Microsoft Access2003Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。 Access是一

15、种关系型数据库管理系统,其主要特点如下: 1) 存储方式单一 Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。 2) 面向对象 Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中.它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作.同时,这种基于面向对象的开发方式,使得开发应用程

16、序更为简便。 3)界面友好、易操作 Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。 4)集成环境、处理多种数据信息 Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。 5)Access支持ODBC(开发数据库互连,Open Data

17、 Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等.Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用.第2章 系统功能介绍2.1 系统功能总框图系统功能分析是在系统开发的总体任务的基础上完成.根据系统分析确定的逻辑模型,确定新系统的物理模型,即计算机化信息系统应用软件的总体结构和数据库设计,并提出系统配置方案,继而对物理模型进行详

18、细的设计。主要内容有:代码设计,用户界面设计,处理过程设计,编写系统设计说明书。系统设计是以系统分析为基础,而系统设计又是系统实施的基础,系统设计的主要任务是代码设计、物理设计、数据库设计、功能结构图设计.本火车票管理系统功能包括用户登录、用户信息管理、火车票信息管理、火车票信息查询等如图2.1所示。图2。1 系统功能图2.2 模块功能介绍2.2。1 系统登录火车票管理系统可以分为2种登录方式登录系统,分别为管理员、普通用户。考虑到数据库中数据的安全性和用户的权益,该系统采用“用户标识"和“口令”相结合的数据库安全技术,并通过自动认证用户的“权限”来判断用户应该登陆到的界面。其中管理

19、员使用密码登录可以直接登录到管理系统,进行火车票信息和用户信息进行管理;普通用户使用密码登录到用户界面,可以在对火车票查询的基础上对乘客所要求买的车票信息进行查询和填写以及火车票记录的打印等操作.2.2。2 管理员登录管理员是该火车售票系统数据的直接管理者,他对该系统数据库中的数据享有所有的权限。针对这一点,管理员管理界面包含了“用户管理”、“票务管理”以及“系统帮助”三个选项.(1)用户管理用户管理界面是管理员才能进入的界面,在该窗口中,管理员可以对使用该系统的用户进行管理,具体包括“查找用户"、“增加用户"、“删除用户”、“修改用户"等功能,并将各个子功能的结

20、果显示在窗口左边的显示区域内,初次登陆此界面时显示区域内的信息是所有用户的信息.通过该模块的功能,管理员可以很方便的对使用该系统的用户进行管理。(2)票务管理顾名思义“票务管理”就是对火车票进行的管理,在此模块中我们可以进行“所有票数”、“卖出票数”等的预览。运行界面如图2.2所示。图2.2“票务管理"窗口2.2.3 普通用户登录在这个功能模块里普通用户即售票员可以进行火车及或火车票的信息进行查询及售票。查询子功能中可以“按车次查询",也可以“按车站查询"在售票子功能中选择好车票相关信息后并核对确认好乘客需要次车票后可以可预览车票信息;如果乘客需要数据单,则可以点

21、击“打印”来打印数据单.查询:“查询"功能中的“按车次查询”和“按车站查询”思想相差无几,这里我们重点说明“按车次查询”。如现在乘客询问“T1”的火车具体信息及车票信息或者是购买“T1”的车票,售票员便在“火车票"窗口选择“按车次查询",然后在“车次”一栏中输入“T1”以及选择好日期以后点击“查询"便会出发相应的查询事件即将“车次”和“日期”传递给查询语句后将数据库中各个表中的相关信息查询出来显示在“火车票"窗口相应的地方,具体包括始发站、终点站、发车时间、剩余票数、单价等信息。售票:在用户选定了需要的票之后,点击确定按钮之后,会弹出电子票窗口

22、。在购票成功之后,需要对数据库进行更新操作,这就是售票系统的主要功能。2。3 组内任务分工表2.1 组内任务分工姓名任务分工成绩姚宇(组长)数据库连接与数据交互、用户管理(增加、查找、修改、删除)金兆宁数据库需求分析、选择车票(打印)夏林数据流图、票务管理(已卖票、所有票)刘雨娇数据库设计、用户登录、系统帮助(车票显示)第3章 数据库设计火车票管理系统是一个数据库应用系统,各类数据的所有信息都是保存在数据库中。在数据库应用系统的开发进程中,数据库的结构设计是一个非常重要的问题。我们这里所说的数据库结构设计是指数据库中各个表结构的设计,包括信息保存在哪个表格中,各个表的结构如何以及各个表之间的关

23、系如何等.数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据库的完整性和一致性比较高,系统具有较快的响应速度,简化基于数据库的应用程序的实现等。由数据库设计的重要性,人们提出了许多数据库结构设计的技术。但是这些设计方法和设计者的工作经验有很大关系。因此要从根本上解决所有数据库结构设计的问题,就需要多实践,在实践中积累经验和教训,最终成为数据库结构设计的专家。3。1 数据库需求分析数据库结构设计的一个非常重要的阶段就是数据库需求分析阶段。在这个阶段主要是收集基本数据以及数据处理流程,为以后进一步设计打下基础。需求分析主要解决两个问题:内

24、容要求:调查应用系统用户所操作的数据,决定的数据库中存储什么数据。处理要求:调查应用系统用户要求对数据进行什么样的处理,理数据库中的各种数据之间的关系如何。解决这两个问题的时候,程序设计人员需要向应用系统的用户做详细调查,保证信息收集的完整性,否则有可能后面所做的所有工作都白白浪费。现在软件开发过程中最常用的需求分析技术是快速原型法,其实质就是快速建立展示目标产品主要功能的软件,在开发过程中根据用户反馈对模型不断修改、完善.因此其最重要的一方面体现在“快速”上,要尽可能快地建立原型.第二个方面是所构造的原型必须可以改变,可以根据用户反馈不断更改、完善。在开发本系统过程中,基本遵循快速原型法原则

25、,经过初步调研后,先建立应用程序框架,然后根据与用户的交流,在原型的基础上不断修改、完善,直到最后交付使用。这种方法最大的优点是开发周期短、见效快、实用性强.在此系统中用户中的管理员需求对火车和火车票进行保存、更新,对普通用户进行增加、删除、查询、修改;普通则要求对火车票的相关信息进行查询、打印,将火车票准确及时的卖出给乘客。这就需要数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。3.2 数据流图结构化方法使用数据流图从数据传递和加工的角度,以图形的方式刻画数据流

26、从输入到输出的变化过程。数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能,是一种功能模型.火车票管理系统的数据流图如下图3.1所示。图3。1数据流图3。3 数据库概念结构设计这一阶段是在需求分析的基础上,设计出能够满足需求的各种实体,以及它们之间的关系,且为后面的逻辑结构设计打下基础.这个阶段不用考虑所采用得数据库管理系统、操作系统、机器类型等问题.这个阶段可用的工具很多.用得最多的是E-R图(Entity-Relation,实体-关系图),另外还有许多计算机辅助工具(Computer Aided Software, CASE)可以帮助进行设计.本系

27、统都是采用ER图的方法进行数据库概念结构设计的,现在先对E-R图的方法进行一下简单的介绍。ER图是描述数据实体及其关系的一种直观的描述工具.这种图中有: 实体。用方框表示,方框内为实体名称。在火车售票系统中的实体有用户、车票。 实体的各种属性。用椭圆表示,椭圆内为属性名称。使用线段将其和相应的实体连接起来。概括起来,该系统中各实体的属性如下:1) 用户(用户名,用户号、用户密码、用户权限);2) 车票(车票号,车票类型,票价);3) 火车(火车号,车型,始发时间,始发站,终点站,途经站,运行时间,全程行程);4) 车站(车站号,车站名);5) 车厢(车厢号,类型,总票数,剩余票数);6) 实体

28、之间的联系。用菱形表示,菱形内部为联系的名称。图3。2 总E-R图3。4 数据库表的设计在做出数据库的具体表之前,我们需要有相应的概念结构。概念结构是独立于实际数据模型的,必须将其转化为逻辑结构后才能进行数据库应用设计.也就是要将上面的数据库概念转化为Access数据库所支持的实际数据模型。在上面的实体与实体之间关系的基础上,形成数据库中的表格,以及各个表格之间的关系。具体关系模式如下: 用户信息(用户ID,登录名,用户密码,用户权限);车票(票号,车票类型,票价);车站信息(车站号,车站名);车厢信息(车厢编号,火车编号,类型,座位总数,剩余数量);火车信息(火车号,车型,始发时间,始发站,

29、终点站,途经站,运行时间,全程行程);管理/卖票(票号,火车号);“火车票管理系统”的数据库名称为Trainticket,数据库中包含6张表。下面根据系统的关系模式分别给出数据表概要说明和主要数据表的结构,每个表格表示数据库中的一个表.按照关系模式可分为Tickettable表描述车票信息(如表3.3所示)、Salesticket表描述卖票联系(如表3.4所示)、Brailway表描述车厢信息(如表3。5所示)、Users表描述用户信息(如表3。6所示)、Trainstage表描述车站信息(如表3.7所示)、Trainstation 表描述火车信息(如表3.8所示)。表3.3 Ticketta

30、ble表字段名称字段类型约束条件ttypeno车票号char(10)主键tickettype车票类型char(10)Not nullcharge票价float(8,2)Not null表3.4 Salesticket 表字段名称字段类型约束条件ticketno车票编号char(10)主键,参照tickettable表trainno火车编号char(10)主键,参照trainstation表表3.5 Brailway表字段名称字段类型约束条件Trainno火车编号char(10)主键railwayno车厢号int(10)主键railwaytype类型char(10)Not nullseatcou

31、nt总票数int(10)unsigned Not nulluseable剩余票数int(10)unsigned Not null表3.6 Users表字段名称字段类型约束条件userno用户号码int(10)主键username用户名char(10)Not nulluserpassword用户密码char(10)Not nulluserpopedom用户权限char(10)Not null表3。7 Trainstage 表字段名称字段类型约束条件stagenameindex站号char(10)主键stagename站名varchar(50)Not null表3.8 Trainstation表字

32、段名称字段类型约束条件trainno火车编号char(10)主键traintype车型char(10)Not nullStartstage始发站varchar(45)Not null,参照表trainstageArrivestage终点站varchar(45)Not null,参照表trainstageChangetrain途经站varchar(45)Not null,参照表trainstagearrivetime到达时间char(10)Not nullexittime运行时间char(10)Not nullrunmileage全程行程int(10Not null第4章 系统功能实现4。1 登

33、陆系统我们在数据库中设计了管理员权限(admin)与普通用户权限(user)。通过判断输入的用户名和密码判断权限,然后登陆系统。登陆界面如图4。1所示。 图4.1 登陆界面具体代码实现如下:public void actionPerformed(ActionEvent e)Conn conn = new Conn();if(e.getSource()=_jbsub)/提交 String username = _jfid。getText()。trim();/用户名String userpassword = new String(_jfpass。getPassword().trim();if(co

34、nn。Login(username,userpassword)if(conn.ifadmin(username,userpassword,userpopedom))dispose();/关闭该窗口并释放资源JOptionPane.showMessageDialog(this,”欢迎管理员登录!");new Manage(username,userpassword,userpopedom);/管理员管理事物类elsenew Trainticket(username,userpassword);/车票查询及售票类dispose();elseJOptionPane。showMessageD

35、ialog(this,”登录失败,请检查密码是否正确!");if(e。getSource()=_jbcan)/取消System。exit(0);4.2 管理员系统管理员权限是火车售票的最高权限,分为“用户管理”和“票务统计”两大块,图4.2为管理员登陆后的操作界面。图4。2 管理员界面4。2。1 用户管理在“用户管理”模块下可以进行“增加用户”、“查找用户”、“删除用户”、“修改用户”操作。如图4.3所示。图4.3 用户管理界面 查找用户管理员通过输入该用户号来查找用户,如查找用户号为2的用户,其输入界面如图4。4所示,运行结果如图4.5所示。具体实现思想为:将从输入界面输入的用户号

36、传递给一条用于数据库数据查找的SQL语句-select语句来查找出拥有该用户号的用户的信息然后返回给“查找用户”类最后显示在“用户管理"界面。图4。4 “查找用户”输入界面图4。5 查找用户运行结果界面查询用户信息的代码如下:public Checkuser(String name,String password,String popedom) super(”查找用户"); _jl = new JLabel(”号码”); _jt = new JTextField(10); _jb1 = new JButton(”提交”); _jb2 = new JButton(”返回&qu

37、ot;); jp1= new JPanel(); jp2= new JPanel(); username = name; userpassword = password; userpopedom = popedom; if(conn.ifadmin(username,userpassword,userpopedom) else JOptionPane。showMessageDialog(this,"非法请求!"); System。exit(0); jp1.add(_jl); jp1。add(_jt); jp2。add(_jb1); jp2。add(_jb2); _jb1.a

38、ddActionListener(this); _jb2.addActionListener(this); this。add(jp1,”Center”);this。add(jp2,”South"); pack(); this。setVisible(true); this.setDefaultCloseOperation(JFrame。DISPOSE_ON_CLOSE); int W = (int)Toolkit.getDefaultToolkit()。getScreenSize()。getWidth(); int H = (int)Toolkit.getDefaultToolkit(

39、)。getScreenSize().getHeight(); this。setLocation((W-this。getWidth())/2,(H-this。getHeight())/2); public Vector checkUser(String userno) throws SQLException/查询用户信息 Vector v = new Vector(); try String sql = ”select * from user where userno = ?"; try ps = con。prepareStatement(sql); ps。setInt(1, Inte

40、ger。valueOf(userno)); rs = ps.executeQuery(); catch (SQLException e) System。out。println(e.getMessage()); while (rs。next() UserVo s = new UserVo(); s。setUserno(rs。getString(”userno”)); s。setUsername(rs。getString(”username"); s.setUserpassword(rs.getString(”userpassword”)); s。setUserpopedom(rs。ge

41、tString("userpopedom”); v.add(s); catch (SQLException ex) Logger.getLogger(Conn.class.getName())。log(Level。SEVERE, null, ex); finally ps.close(); con.close(); return v; 增加用户管理员可以根据需要通过该功能增加一个或多个用户,假设我们现在新增一个用户,在“增加用户”界面输入用户的信息之后,这些信息便会传递给一条用与插入数据的SQL语句-insert语句,增加用户成功后便会在“用户管理”界面的显示区域内显示出刷新后的用户

42、信息。其输入用户信息界面及运行界面分别如图4。6和4。7所示.图4。6 “增加用户”输入界面图4.7 增加用户运行结果界面增加用户的代码如下:public class Addusers extends JFrame implements ActionListener JTextField _jt1,_jt2,_jt3,_jt4;JButton _jb1,_jb2;JPanel jp1,jp2,jp3,jp4,jp5,jp6,jp7;JLabel _jl1,_jl2,_jl3,_jl4;Conn conn = new Conn();String username,userpassword,use

43、rpopedom; public Addusers(String name,String password,String popedom) super(”添加用户"); username = name; userpassword = password; userpopedom = popedom; if(conn.ifadmin(username,userpassword,userpopedom) else JOptionPane。showMessageDialog(this,"非法请求!"); System.exit(0); _jt1 = new JTextFi

44、eld(10); _jt2 = new JTextField(10); _jt3 = new JTextField(10); _jt4 = new JTextField(10); _jb1 = new JButton(”提交"); _jb2 = new JButton(”返回"); jp1 = new JPanel(); jp2 = new JPanel(); jp3 = new JPanel(); jp4 = new JPanel(); jp5 = new JPanel(); jp6 = new JPanel(new GridLayout(4,1)); _jl1 = ne

45、w JLabel("号 码"); _jl2 = new JLabel(”姓 名"); _jl3 = new JLabel(”密 码"); _jl4 = new JLabel(”权 限”); jp1。add(_jl1); jp1.add(_jt1); jp2。add(_jl2); jp2。add(_jt2); jp3.add(_jl3); jp3.add(_jt3); jp4.add(_jl4); jp4。add(_jt4); jp5.add(_jb1); jp5.add(_jb2); jp6。add(jp1); jp6。add(jp2); jp6.add

46、(jp3); jp6.add(jp4); _jb1。addActionListener(this); _jb2。addActionListener(this); this。add(jp6,”Center”);this。add(jp5,"South"); pack(); this。setVisible(true); this.setDefaultCloseOperation(JFrame。DISPOSE_ON_CLOSE); int W = (int)Toolkit.getDefaultToolkit()。getScreenSize()。getWidth(); int H =

47、 (int)Toolkit.getDefaultToolkit()。getScreenSize()。getHeight(); this.setLocation((W-this.getWidth()/2,(H-this.getHeight())/2); public void actionPerformed(ActionEvent e) if(e。getSource()=_jb1) String no = _jt1。getText().trim(); String name = _jt2.getText()。trim(); String password = _jt3.getText()。tri

48、m(); String popedom = _jt4。getText().trim(); if(no.equals(”)|name.equals(”")|password。equals(”")|!popedom.equals("admin")&!popedom.equals("user") JOptionPane.showMessageDialog(this,"资料不能为空或者n权限只能为“admin”,“user”!”); else if(conn.isDigitString(no)/判断用户号码中的是不是都是数字

49、 int _no = Integer。parseInt(no); conn.adduser(_no,name,password,popedom); JOptionPane.showMessageDialog(this,”注册成功!”); dispose(); JOptionPane。showMessageDialog(this,"欢迎管理员回来!"); new Usermanage(username,userpassword,userpopedom); else JOptionPane。showMessageDialog(this,"号码不能是英文!”); if(

50、e.getSource()=_jb2) dispose(); JOptionPane.showMessageDialog(this,"欢迎管理员回来!"); new Usermanage(username,userpassword,userpopedom); public void adduser(int number,String name,String password,String popedom)/向用户表中添加用户 String sql = "insert into user(userno,username,userpassword,userpopedom) values(?,?,?,?)"; try ps = con。prepareStatement(sql);ps.setInt(1,number);ps.setString(2,name);ps。setString(3,password);ps.setString(4,popedom);ps。executeUpdate();/执行插入语句并返回值为int类型ps.close();con.close(); catch(SQLException e) System.out.println (e.getMessage(); 删除用户管理员通过“查找用户"功能

温馨提示

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

评论

0/150

提交评论