还剩44页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
2014-2015学年第一学期学号《数据库系统概论》课程设计报告题目:长途汽车信息管理系统专业:计算机科学与技术班级班姓名:指导教师:成绩计算机与信息工程系2014年10月12日目录1设计内容及要求o
1.]设计内容
01.2设计任务及具体要求02原理及分析
02.1需求分析
12.2系统功能简介
12.3程序框图13设计过程和程序代码
33.1数据库表格的设计概述
33.2数据库表格的实现过程
43.3程序的构造方法及其实现
103.4数据库与Java程序的链接194设计结果与分析
194.1设计结果截图
194.2设计结果分析205小结20参考文献21致谢21附录源程序221设计内容及要求
1.1设计内容本次课程设计名称为长途汽车信息管理系统,用户登录后主要实现对线路信息,汽车信息,售票信息,乘客信息进行根本操作的功能该系统功能主要包括以下几个模块
(1)充分利用所学过的数据库的相关知识建立长途汽车信息管理系统所需的数据库
(2)对线路信息(包括出发地、目的地、出发时间、所需时间等)汽车信息(最大载客量、汽车类型、剩余座位等)售票信息(包括售票情况、票价)乘客信息(包括姓名、年龄、性别等)的查询、添加和删除操作
(3)进行详细的功能设计后,在Java中利用JDBC连接数据库技术对数据库中数据进行操作,并能进行多表之间的链接与查询操作
1.2设计任务及具体要求
(1)设计任务长途汽车信息管理系统运用在汽车站部门的系统工具,方便此系统部门的工作人员的工作,该系统主要根据此部门的特点建立的,是记录和查询汽车站信息的的依据随着市场经济的不断飞速开展,交通道路环境的不断改善,人们的出行次数不断增多,人口流动频繁,数量不断加大,车站信息量迅猛增长,长途汽车站信息管理系统在人们的日常生活中发挥着越来越重要的作用本系统实现了汽车线路信息,汽车信息,票务信息的查询和管理,以满足人们的需求
(2)具体要求车站管理员可以在线路信息管理、汽车信息管理等模块对车站线路信息、票价信息、乘客信息等进行管理管理员首先建立相应模块的信息数据库,输入原始的线路、汽车、车票、乘客信息,当有新数据需要添加或者需要对已有的信息进行修改,删除的时候,管理员就可以进行相应的操作管理员也可以通过本模块查询到所有需要查询的线路、汽车、车票、乘客的详细信息2原理及分析
2.1需求分析长途汽车信息管理数据库系统是面向所有汽车的数据管理系统,其目的是使乘车有序化,标准化,简单化,易于车站人员的管理,查询本系统主要包括以下几个模块乘客信息、汽车信息、线路以及车票的信息这四个功能模块根本实现设计本系统的目的,从而可以进一步满足车站对乘客乘车管理的要求长途汽车信息管理系统运用在汽车站和火车站等车站部门的系统工具,方便此系统部门的工作人员的工作,该系统主要根据此部门的特点建立的,是记录和查询汽车站信息的的依据早期的长途汽车站信息主要是人工记录和人工管理的,不仅不容易记录,而且还不容易保存随着计算机的不断普及和软件系统的不断开展加上信息系统开发的迫切需求,计算机长途汽车站信息管理系统应运而生了随着市场经济的不断飞速开展,交通道路环境的不断改善,人们的出行次数不断增多,人口流动频繁,数量不断加大,车站信息量迅猛增长,长途汽车站信息管理系统在人们的日常生活中发挥着越来越重要的作用本系统实现了汽车线路信息,汽车信息,票价信息的查询和管理,满足人们的需求
2.2系统功能简介在Java中利用ODBC访问技术操作数据库,建立到数据库中的映射类,在对话框类中通过引用映射类完成对数据库的操作程序分为登陆界面,选择界面,线路信息界面,汽车信息界面,车票信息这几个主体界面使用时应先知道管理员帐号和密码,登陆进入系统主菜单界面,里面包括线路信息,汽车信息,车票信息,退出程序菜单项选择项所需时间等,可以对它们进行添加,查询,删除,其中线路信息界面包括包括出发地、目的地、出发时间、修改,返回主菜单的操作;汽车信息和车票信息的界面与其类似需要特别说明的是,当对数据进行操作时,在查询框内输入提示数据内容,对话框的表中和提示栏中都会出现所查询的数据,我们可以在提示栏中对数据进行删除和修改操作
2.3程序框图1数据库E—R图线路信息图图1-2汽车信息图车票信息图:图1-4乘客信息图
(2)长途汽车信息管理系统功能模块图图1-5系统功能模块图3设计过程和程序代码
3.1数据库表格的设计概述1实体类型结构汽车线路(出发地,目的地,出发时间,行驶的总时间)汽车(汽车类型,班次,最大载客数,剩余座位)车票(已买票数,剩余票数,票价)乘客(姓名,年龄,性别,民族)2联系类型结构乘坐(汽车班次,类型)供给(数量)行驶(线路)3逻辑设计阶段根据ER模型转换成关系模型的规那么,可把上述ER图转换成5个关系模式,从而实现对乘客验证ER模型向关系数据模型的转换,具体如下汽车线路(出发地,目的地,出发时间,行驶的总时间)汽车(汽车类型,汽车班次,最大载客数,剩余座位数)车票(已买票数,剩余票数,票价)乘客(姓名,年龄,性别,民族)乘坐(所需时间,汽车班次,票价,乘客姓名)冗余问题检查在各关系模式中,可得出每个关系的属性值都是不可分的,因此各关系模式都是标准化关系;又可从以上各关系模式中可得每个属性都不传递依赖于各关系模式的候选键,且转换后各个属性值的数据并没有丧失,数据共享率高,所以在ER模型向关系模式转化时不存在冗余问题
3.2数据库表格的实现过程创立汽车线路表用MicrosoftSQL2000Server数据库系统的Transact-SQL语句定义创立这个表程序如下createtableBuslineSourcechar20Destinationchar20Startchar15Alltimesmallintprimarykey;将代码写入SQL查询分析器的SQL编辑窗体中,并运行可得创立的Busline表及其属性如图1-6图1-6Busline表格属性往表中加数据语句如下insertintoBuslinevalues淮南合肥8:00750;insertintoBuslinevalues淮南7蚌埠巽:3059‘;insertintoBuslinevalues淮南阜阳7:3060;insertintoBuslinevalues淮南宿州8:10765;insertintoBuslinevalues淮南芜湖77:00770;insertintoBuslinevalues淮南安庆9:00「71;insertintoBuslinevalues淮南,桐城9:5078;insertintoBuslinevalues^淮南;亳州共:50780insertintoBuslinevalues淮南7黄山79:00100;由以上可得一个表名为Busline的数据表就建成了如图1-7创立汽车表用MicrosoftSQL2000Server数据库系统的Transact-SQL语句定义创立这个表,程序如下Typechar20MaxpassengersmallintTurnchar20primarykeyRemaindersmallint;将代码写入SQL查询分析器的SQL编辑窗体中,并运行可得数据空表如图1-8所示创立的Bus表及其属性如下往表中加数据语句如下insertintoBusvalues大50000120insertintoBusvalues大50000230insertintoBusvalues大45000315insertintoBusvalues中350004‘2insertintoBusvalues中35000516insertintoBusvalues小250006SinsertintoBusvalues小2500077insertintoBusvalues小250008ll由以上可得一个表名为”Bus”的数据表就建成了如图1-9创立车票表用MicrosoftSQL2000Server数据库系统的Transact-SQL语句定义创立这个表,程序如下SoldsmallintRemaindersmallintPricesmallintprimarykey;将代码写入SQL查询分析器的SQL编辑窗体中,并运行可得数据空表如图2所示创立的Ticket表及其属性如下列图1-10往表中加数据语句如下insertintoTicketvalues22737159insertintoTicketvalues116insertintoTicketvalues2075718,insertintoTicketvalues301526insertintoTicketvalues20730727insertintoTicketvalues286T5insertintoTicketvalues264‘17继续添加数据由以上可得一个表名为Ticket”的数据表就建成了如图1-11创立乘客表用MicrosoftSQL2000Server数据库系统的Transact-SQL语句定义创立这个表,程序如下createtablePassengerPnamechar10primarykeyPsexchar2Pracialchar5Psagesmallint;将代码写入SQL查询分析器的SQL编辑窗体中,并运行可得数据空表如图2所示创立的Passenger表及其属性如下列图1-12往表中加数据语句如下insertintoPassengervalues高健,男汉23insertintoPassengervalues!王小明男7汉721insertintoPassengervalues安妮,女汉19insertintoPassengervalues张凯,男汉21insertintoPassengervalues王睿7女7汉721insertintoPassengervalues姚洁,女汉20insertintoPassengervalues刘佳,,女7汉728insertintoPassengervalues杨枫,男汉33insertintoPassengervalues李勇,「男?汉29insertintoPassengervalues王妮,女汉25insertintoPassengervalues张云7男;汉、37insertintoPassengervaluesC李露,女汉23由以上可得一个表名为”Passenger”的数据表就建成了如图1-13创立Bbtp表用MicrosoftSQL2000Server数据库系统的Transact-SQL语句定义创立这个表,程序如下createtableBbtpAlltimesmallintTurnchar20PricesmallintPnamechar10primarykeyforeignkeyAlltimereferencesBuslineAlltimeforeignkeyPricereferencesTicketPriceforeignkeyTurnreferencesBusTurn;将代码写入SQL查询分析器的SQL编辑窗体中,并运行可得数据空表如图2所示创立的Bbtp表及其属性如下列图1-14往表中加数据语句如下insertintoBbtpvalues60\0004;15;高健insertintoBbtpvalues000516王小明insertintoBbtpvalues707000r;187安妮insertintoBbtpvalues7r;0007715V张凯insertintoBbtpvalues7870003V1573E睿insertintoBbtpvalues60t;0006;167姚洁insertintoBbtpvalues(65070002;16;刘佳)insertintoBbtpvalues(7070004;18;杨枫)insertintoBbtpvalues(!807000r;187李勇)insertintoBbtpvalues(650005T8王妮)insertintoBbtpvalues(100;0004;18;张云)insertintoBbtpvalues(707000r;167李露)由以上可得一个表名为”Bbtp”的数据表就建成了如图1-
153.3程序的构造方法及其实现因为长途汽车信息管理系统可以实现对不同信息的不同操作,程序中分别构造各个功能模块供信息操作使用,详细设计及主要代码如下
(1)登陆界面代码在此模式下通过输入管理员名及密码,以获取权限,进入各项操作的界面packagechangtu;importjava.awt.*;importjavax.swing.*;importjava.sql.*;importjava.io.*;publicclassdengluextendsJFrameimplementsActionListenerstaticJLabeljl=newJLabel(n欢送登陆汽车管理系统,staticJLabeljl2=newJLabel;staticJLabeljl3=newJLabelH姓名,staticJLabeljl4=newJLabelH密码”;staticJButtonjbl=newJButtonn确定,staticJButtonjb2=newJButtonn返回,staticJTextFieldjtl=newJTextField;staticJTextFieldjt2=newJTextField;staticOprationop=newOpration;Statementst;publicvoidDlStatementsta{this.st=sta;setSize300250;setVisibletrue;setLayoutnull;jl.setBounds802020020;j
13.setBounds60605020;jl
4.setBounds60l005020;jl
2.setBoundsl0014020020;jbl.setBounds80l806030;jb
2.setBoundsl601806030;jtl.setBounds1006010020;jt
2.setBoundsl0010010020;addjl;addjl2;addjl3;addjl4;addjtl;addjt2;addjbl;addjb2;jb
1.addActionListenerthis;jb
2.addActionListenerthis;主操作界面在此模式下,可以实现查询,插入,删除,及总查询等诸多功能packagechangtu;importjava.awt.*;importjavax.swing.*;publicclassOprationextendsJFrameimplementsActionListenerstaticJLabeljl=newJLabeln请选择一种操作:,〃定义标签staticJRadioButtonjc1=newJRadioButtonn查询操作;〃单项选择按钮staticJRadioButtonjc2=newJRadioButtonn插入操作”;staticJRadioButtonjc3=newJRadioButton删除操作”;staticJRadioButtonjc4=newJRadioButton修改操作”;staticJButtonjbl=newJButtonn确定;〃按钮staticJButtonjb2=newJButtonn返回,staticButtonGroupbg=newButtonGroupO;publicstaticintflag;staticCheckch二newCheck;publicvoidxuanzesetTitle”操作选择,〃设置界面内容setSize300270;〃界面大小setLayoutnull;//界面布局jl.setBounds7010l5020;〃设置位置大小jc
1.setBounds605015020;jc
2.setBounds609015020;jc
3.setBounds6013015020;jc
4.setBounds60l7015020;jb
1.setBounds802106020;jb
2.setBoundsl602106020;jc
1.setSelectedtrue;//设为选中bg.addjcl;bg.addjc2;bg.addjc3;bg.addjc4;addjl;addjcl;addjc2;addjc3;addjc4;addjbl;addjb2;jcl.addActionListenerthis;〃参加事件监听jc
2.addActionListenerthis;jc
3.addActionListenerthis;jc
4.addActionListenerthis;jb
1.addActionListenerthis;jb
2.addActionListenerthis;setVisibletrue;汽车查询代码在此模式下输入汽车的某一项信息,可以获得汽车编号、汽车种类、载客量等信息,如输入汽车编号01便可以显示01车的其他信息packagechangtu;importjava.awt.*;importjavax.swing.*;importjava.sql.*;importjava.io.*;publicclassQchepiaoextendsJFrameimplementsActionListenerStatementst二null;JTextAreaja=newJTextArean编号售票剩余己售\n”;JTextFieldjt=newJTextField;JRadioButtonjc1=newJRadioButton查询全部”;JRadioButtonjc2=newJRadioButton局部查询”;ButtonGroupbg=newButtonGroupO;JButtonjbl=newJButtonn查询,JButtonjb2=newJButtonn返回,JButtonjb3=newJButtonn退出”;staticOprationop=newOpration;publicvoidQcpStatementsta{this.st=sta;//Statement语句传输setSize400300;setLayoutnull;setVisibletrue;〃设置界面可见jc
1.setBounds20208020;jc
2.setBounds20608020;jt.setBounds20l008030;jbl.setBounds30l506030;jb
2.setBounds1202206030;jb
3.setBounds2302206030;ja.setBounds12020250200;bg.addjcl;bg.addjc2;addjcl;addjc2;addjt;addjbl;addjb2;addjb3;addja;jc
1.addActionListenerthis;jc
2.addActionListenerthis;jbl.addActionListenerthis;jb
2.addActionListenerthis;jb
3.addActionListenerthis;汽车插入、修改等代码在此模式下,我们可以轻松的实现对汽车的信息的修改,以及在增加班车后实现插入该车的信息packagechangtu;importjava.awt.*;importjavax.swing.*;importjava.sql.*;publicclassIchepiaoextendsJFrameimplementsActionListenerStatementst=null;JLabeljll=newJLabelH编号,JLabeljl2=newJLabel”售票,JLabeljl3=newJLabeln剩余,JLabeljl4=newJLabelH已售”;JLabeljl5=newJLabel;JTextFieldjtl=newJTextField;JTextFieldjt2=newJTextField;JTextFieldjt3=newJTextField;JTextFieldjt4=newJTextField;JButtonjbl=newJButton插入”;JButtonjb2=newJButton返回,JButtonjb3=newJButton修改;staticOprationop二newOpration;publicvoidIcpStatementsta{thisst二sta;setLayoutnull;setSize300300;setVisibletrue;jl
1.setBounds20208020;jl
2.setBounds20608020;jl
3.setBounds201008020;jl
4.setBounds201408020;jtl.setBounds100204020;jt
2.setBoundsl00604020;jt
3.setBounds1001004020;jt
4.setBoundsl001404020;jl
5.setBoundsl0018010020;jbl.setBounds2001006020;jb
2.setBounds2001406020;jb
3.setBounds200606020;addjll;addjl2;addjl3;addjl4;addjl5;addjtl;addjt2;addjt3;addjt4;addjbl;addjb2;addjb3;jb
1.addActionListenerthis;jb
2.addActionListenerthis;jb
3.addActionListenerthis;车票删除代码在此模式下,我们可以删除指定的无用的汽车信息,以便汽车信息的更新packagechangtu;importjava.awt.*;importjavax.swing.*;importjava.sql.*;publicclassDchepiaoextendsJFrameimplementsActionListener{Statementst=null;JTextFieldjtl=newJTextField;JLabeljll^newJLabel”删除的信息,JLabeljl2=newJLabel;JButtonjbl=newJButtonn删除”;JButtonjb2=newJButton返阿;staticOprationop=newOpration;publicvoidDcpStatementstathis.st=sta;setSize200200;setLayoutnull;setVisibletrue;jl
1.setBounds602010020;jtl.setBounds70404020;jl
2.setBounds408014020;jbl.setBounds40l206020;jb
2.setBoundsl101206020;addjll;addjl2;addjbl;addjb2;addjtl;jbl.addActionListenerthis;jb
2.addActionListenerthis;publicvoidactionPerformedActionEvente{JButtonjb=JButtone.getSource;ResultSetrs二null;ifjb==jbltry{Stringstl=”deletefromchepiaowherebianhao-n+jtl.getText+Horshoupiao=+jtl.getText+”orshengyu=+jtl.getText+”oryishou=+jtl.getText+E;st.executeUpdatestl;jl
2.setTextn删除车票信息成功;jl
2.setForegroundColor.red;catchExceptionel}}ifjb==jb2{dispose;//释放内存op.xuanze;//调用Opration中xuanze方法
3.4数据库与Java程序的链接图1-16数据库链接4设计结果与分析
4.1设计结果截图长途汽车信息管理系统登录界面编译程序,会出现如图5-1的登陆界面,管理员通过输入管理员姓名和密码,可以登录汽车管理系统图1-17登陆界面选择操作界面管理员通过此操作界面可以选择要实现的操作图M8操作界面选择表界面通过单击查询操作进入这个界面,来选择要查询的信息图1-19选择表界面查询界面图1-20查询界面局部查询界面图1-21局部查询界面修改、插入界面管理员可以通过该界面来实现插入,修改该系统的信息,如图5-6为插入汽车信息界面图1-22修改、插入界面删除界面管理员可以通过该界面,删除无用的信息图1-23删除界面
4.2设计结果分析了解长途车站信息系统分析如需求分析和开发工具选择,功能分配思考要实现整个程序大体需要的几个模块和其中用到的Java根本操作符、语句等画设计方案流程图并具体化用流程图的形式展现根本编程思想将流图中的大模块的具体实现思考清楚,并想好实现的代码编辑程序代码这是一个至关重要复杂而且需要反复修改的环节,在此环节中将发现总体设计和模块思想会存在很多问题,需不断改良.如何实现各函数功能,到达预期效果也将是一项繁复的工作代码的调试在Java环境下输入代码并进行调试和正确运行在调试过程中会遇到很多需要精化的地方,需要十足的耐心与细心,不断改良完善程序最后修饰程序可以正确运行之后,在不影响程序功能的情况下,运用各种辅助性符号,使界面更加美观漂亮,操作更人性化,增强程序的新意与可行性5小结这学期期中学校就特安排我们进行为期二周的数据库的课程设计制作,并安排了指导老师帮助辅导,让我们在标准化、严谨化、实用化上面有了很大进展在此次长途汽车信息管理系统的开发过程中,遇到了许多的问题比方数据库连接错误,代码、对象方法名错误等,但经过认真思考并在老师和同学的帮助下顺利完成了本次设计,本次课程设计有很多东西值得我思考并总结通过本次课程设计,使我在制作过程中更加熟练的掌握数据库语言的构造方法及技巧,并且使我更加熟悉的掌握了Java语言的运用,帮助我复习稳固了Java语言及其功能,提高了我的动手能力和思维能力并且从中学会了将数据库导入到程序系统中的方法,积攒了许多解决实际问题的珍贵经验.长途汽车信息管理系统主要的实现了对线路信息、汽车信息、车票信息的查询删除和添加功能,用户在登陆界面后可以对其信息进行简单的操作,快速高效的完成人们乘车出行信息的记录,方便了人们的日常生活,这也是我本次课程设计制作的主要目的最后,在这里郑重的感谢指导老师的帮助,让我得到了许多精彩的收获,也感谢学校提供给我们这次珍贵的实践时机,让我们可以在实践中充分锻炼逻辑思维、动手制作、查漏补缺的能力,理论与实践相结合,以此来提高自己的编程能力和对课本知识的理解,大大提高了对学术研究的态度及个人素质的培养参考文献[1J丁宝康.数据库实用教程习题解答[M].清华大学出版社.2004年郑玲利.数据原理与应用案例教程[M].清华大学出版社.2008年龙帅.深入浅出SQLServer数据库开发[M].中国青年出版社.2006年04月刘大玮.SQLServer数据库工程案例导航[M].清华大学出版社.2005年丁宝康.数据库实用教程[M].清华大学出版社.2002年09月万常选廖国琼.数据库系统原理与设计.清华大学出版社.2009年王珊萨师埴.数据库系统概论.高等教育出版社.2006年07月黄晓东.Java课程设计案例精编.中国水利水电出版社.2007年01月孙一林彭波.Java网络编程实例[M].清华大学出版社.2003年李宗伟.Java语言描述[M].第2版.机械工业出版社.2009年01月张银鹤.Java开发典型实例[M].电子工业出版社.2009年01月张峋杨三成Java应用详解[M].中国铁道出版社.2010年11月袁然郑自国.java案例开发集锦[M].电子工业出版社.2005年耿祥义.Java根底教程[M].清华大学出版社.2004年10月王珊萨师帽.数据库系统概论.高等教育出版社.2011年03月致谢经过这一学期的系统学习,我们对数据库有了一定的了解,并且学会了一些常用的操作方法以及熟练应用SQL语言在这次的课程设计中,我们都有很大的收益但同时也遇到了很多的困难,不过最后我们还是完成了任务这当中与老师的耐心指导是分不开的由于我们本身知识的有限性,在遇到困难时,我们不得不上网搜索相关知识点,解决我们的困难老师的讲解与建议,也给了我们不少的帮助我们课程设计的完成,主要归功于老师的耐心指导与讲解,感谢一直给予我帮助和支持的老师,也感谢本院系给我这次程序设计的机会,让我在本次课程设计中得到了最大的收获,今后我会继续学习,争取做到最好附录1:packagechangtu;importjava.awt.*;importjavax.swing.*;importjava.sql.*;importjava.io.*;publicclassdengluextendsJFrameimplementsActionListener{staticJLabeljl二newJLabelH欢送登陆汽车管理系统”;staticJLabeljl2=newJLabel;staticJLabeljl3=newJLabelH姓名,staticJLabeljl4=newJLabelK密码”;staticJButtonjbl=newJButtonn确定,staticJButtonjb2=newJButton”返回”;staticJTextFieldjtl=newJTextField;staticJTextFieldjt2=newJTextField;staticOprationop=newOpration;Statementst;publicvoidDlStatementstathis.st=sta;setSize300250;setVisibletrue;setLayoutnull;jl.setBounds802020020;jl
3.setBounds60605020;jl
4.setBounds601005020;jl
2.setBoundsl0014020020;jb
1.setBounds80l806030;jb
2.setBoundsl601806030;j
11.setBounds1006010020;jt
2.setBounds10010010020;addjl;addjl2;addjl3;addjl4;addjtl;addjt2;addjbl;addjb2;jbl.addActionListenerthis;jb
2.addActionListenerthis;publicstaticvoidmainStringargs[]try{}catchExceptionereturn;}tryConnectioncon=DriverManager.getConnectionnjdbc:odbc:changtu\”sa“;Statementstmt=con.createStatement;newdenglu.Dlstmt;catchExceptione}publicvoidactionPerformedActionEventeObjects=e.getSource;ResultSetrs;ifs.equalsjbltry{rs=st.executeQueryHselectxingminmimafrommanager;whilers.nextStringa=rs.getStringnxingminn;Stringb=rs.getStringnmimaH;ifa.equalsjtl.getTextb.equalsjt
2.getText{dispose;op.opration;}jl
2.setTextn姓名或密码错误!”;jl
2.setForegroundColor.red;catchExceptionel}ifs.equalsjb2System.exitO;}}}2主操作界面在此模式下,可以实现查询,插入,删除,及总查询等诸多功能packagechangtu;importjava.awt.*;importjavax.swing.*;publicclassOprationextendsJFrameimplementsActionListener{staticJLabeljl=newJLabeln请选择一种操作,〃定义标签staticJRadioButtonjc1=newJRadioButtonn查询操作”;〃单项选择按钮staticJRadioButtonjc2=newJRadioButtonn插入操作;staticJRadioButtonjc3=newJRadioButton删除操作;staticJRadioButtonjc4=newJRadioButton修改操作;staticJButtonjbl=newJButtonn确定,〃按钮staticJButtonjb2=newJButton”返回”;staticButtonGroupbg=newButtonGroupO;publicstaticintflag;staticCheckch=newCheck;publicvoidxuanzesetTitle”操作选择,〃设置界面内容setSize300270;〃界面大小setLayoutnull;//界面布局jl.setBounds701015020;//设置位置大小jc
1.setBounds605015020;jc
2.setBounds609015020;jc
3.setBounds6013015020;jc
4.setBounds60l7015020;jbl.setBounds802106020;jb
2.setBounds1602106020;jc
1.setSelectedtrue;//设为选中bg.addjcl;bg.addjc2;bg.addjc3;bg.addjc4;addjl;addjcl;addjc2;addjc3;addjc4;addjbl;addjb2;jc
1.addActionListenerthis;//参加事件监听jc
2.addActionListenerthis;jc
3.addActionListenerthis;jc
4.addActionListenerthis;jb
1.addActionListenerthis;jb
2.addActionListenerthis;setVisibletrue;}publicintgetStatereturnflag;publicstaticvoidoprationnewOpration.xuanze;publicvoidactionPerformedActionEventeObjects=e.getSource;//事件源ifs.equalsjblifjcl.isSelectedflag=l;setVisiblefalse;ch.ch;elseifjc
2.isSelectedflag=2;setVisiblefalse;ch.ch;elseifjc
3.isSelectedflag=3;setVisiblefalse;ch.ch;}elseifjc
4.isSelectedflag=4;setVisiblefalse;ch.ch;ifs.equalsjb2System.exitO;}}}汽车查询代码在此模式下输入汽车的某一项信息,可以获得汽车编号、汽车种类、载客量等信息,如输入汽车编号01便可以显示01车的其他信息packagechangtu;importjava.awt.*;importjavax.swing.*;importjava.sqL*;importjava.io.*;publicclassQchepiaoextendsJFrameimplementsActionListener{Statementst=null;JTextAreaja=newJTextArean编号售票剩余己售\n”;JTextFieldjt=newJTextField;JRadioButtonjc1=newJRadioButton查询全部”;JRadioButtonjc2=newJRadioButtonn局部查询,ButtonGroupbg=newButtonGroupO;JButtonjbl=newJButtonn查询,JButtonjb2=newJButtonn返回,JButtonjb3=newJButtonn退出”;staticOprationop=newOpration;publicvoidQcpStatementstathis.st=sta;//Statement语句传输setSize400300;setLayoutnull;setVisibletrue;//设置界面可见jcl.setBounds20208020;jc
2.setBounds20608020;jt.setBounds201008030;jbl.setBounds30l506030;jb
2.setBounds1202206030;jb
3.setBounds2302206030;ja.setBoundsl2020250200;bg.addjcl;bg.addjc2;addjcl;addjc2;addjt;addjbl;addjb2;addjb3;addja;jc
1.addActionListenerthis;jc
2.addActionListenerthis;jbl.addActionListenerthis;jb
2.addActionListenerthis;jb
3.addActionListenerthis;}publicvoidactionPerfbrmedActionEvente{Objects=e.getSource;ResultSetrs二null;Stringal;ifs.equalsjblifjcl.isSelected{tryrs=st.executeQueryselectbianhaoshoupiaoshengyuyishoufromchepiao11;ja.setTextnn;ja.setTextn编号售票剩余已售\n”;whilers.nextStringa=rs.getStringbianhaon;Stringb=rs.getStringnshoupiaon;Stringc=rs.getStringnshengyun;Stringd=rs.getStringnyishoun;ja.appenda++b++c++d+”\n”;catchExceptionelifjc
2.isSelected{try{ja.setTextnn;ja.setTextn编号售票剩余己售\n”;rs=st.executeQueryHselectbianhaoshoupiaoshengyuyishoufromchepiaowherebianhao=n+jt.getText+nwhilers.nextStringa=rs.getStringnbianhaoH;Stringb=rs.getStringnshoupiaon;Stringc=rs.getStringnshengyun;Stringd=rs.getStringnyishoun;ja・appenda++b++c++d+”\n;catchExceptionel}ifs.equalsjb2dispose;op.xuanze;ifs.equalsjb3{System.exitO;}}汽车插入、修改等代码在此模式下,我们可以轻松的实现对汽车的信息的修改,以及在增加班车后实现插入该车的信息packagechangtu;importjava.awt.*;importjavax.swing.*;importjava.sql.*;publicclassIchepiaoextendsJFrameimplementsActionListenerStatementst=null;JLabeljll=newJLabel”编号,JLabeljl2=newJLabel售票”;JLabeljl3=newJLabel剩余,JLabeljl4=newJLabel已售”;JLabeljl5=newJLabel;JTextFieldjtl=newJTextField;JTextFieldjt2=newJTextField;JTextFieldjt3=newJTextField;JTextFieldjt4=newJTextField;JButtonjbl=newJButton插入”;JButtonjb2=newJButton返回;JButtonjb3=newJButtonn修改”;staticOprationop二newOpration;publicvoidIcpStatementstathisst二sta;setLayoutnull;setSize300300;setVisibletrue;jll.setBounds20208020;jl
2.setBounds20608020;jl
3.setBounds201008020;jl
4.setBounds201408020;jtl.setBoundsl00204020;jt
2.setBoundsl00604020;jt
3.setBoundsl001004020;jt
4.setBoundsl001404020;j
15.setBounds10018010020;jb
1.setBounds2001006020;jb
2.setBounds2001406020;jb
3.setBounds200606020;addjll;addjl2;addjl3;addjl4;addjl5;addjtl;addjt2;addjt3;addjt4;addjbl;addjb2;addjb3;jb
1.addActionListenerthis;jb
2.addActionListenerthis;jb
3.addActionListenerthis;}publicvoidactionPerfbrmedActionEventeObjects=e.getSource;ifs.equalsjbl{tryStringstl=insertintochepiaovaluesE+jtl・getText+”E+jt
2.getText+”E+jt
3.getText+”E+jt
4.getText+””;st.executeUpdatestl;jl
5.setText”插入成功,jl
5.setForegroundColor.red;catchExceptionel}}ifs.equalsjb2dispose;op.xuanze;ifs.equalsjb3{ifjt
2.getText!=null!n.equalsjt
2.getText//判断文本非空try{Stringstr2=nupdatechepiaosetshoupiao=n+jt
2.getText+Hwherebianhao-n+jtl.getText+nn;st.executeUpdatestr2;//更新数据库catchExceptionel}ifjt
3.getText!=null!nn.equalsjt
3.getTexttryStringstr2=Mupdatechepiaosetshengyu=n+jt
3.getText+Hwherebianhao-n+jtl.getText+n;st.executeUpdatestr2;catchExceptionel{ifjt
4.getText!=null!””.equalsjt
4.getTexttryStringstr2=nupdatechepiaosetyishou=n+jt
4.getText+Hwherebianhao-H+jtl.getText+nn;st.executeUpdatestr2;}catchExceptionel}jl
5.setTextn修改车票信息成功,j
15.setForegroundColor.blue;//设置字体颜色this.dispose;}}}车票删除代码在此模式下,我们可以删除指定的无用的汽车信息,以便汽车信息的更新packagechangtu;importjava.awt.*;importjavax.swing.*;importjava.sql.*;publicclassDchepiaoextendsJFrameimplementsActionListenerStatementst=null;JTextFieldjtl=newJTextFieldQ;JLabelj11=newJLabeln删除的信息,JLabeljl2=newJLabel;JButtonjbl=newJButtonH删除;JButtonjb2=newJButton返回;staticOprationop=newOpration;publicvoidDcpStatementstathisst二sta;setSize200200;setLayoutnull;setVisibletrue;jl
1.setBounds602010020;jtl.setBounds70404020;jl
2.setBounds408014020;jbl.setBounds40l206020;jb
2.setBoundsl101206020;addQll;addjl2;addjbl;addjb2;addjtl;jb
1.addActionListenerthis;jb
2.addActionListenerthis;publicvoidactionPerformedActionEventeJButtonjb=JButtone.getSource;ResultSetrs=null;ifjb==jbltryStringstl=ndeletefromchepiaowherebianhao=H+jtl.getText+*orshoupiao=n+jtl.getText+norshengyu=+jtl.getText+oryishou-H+jtl.getText+nn;st.executeUpdatestl;jl
2.setText”删除车票信息成功”;jl
2.setForegroundColor.red;}catchExceptionel}ifjb==jb2dispose;//释放内存op.xuanze;〃调用Opration中xuanze方法}。