




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、滁州学院课程设计报告课程名称: 数据库系统原理与设计 设计题目: 长途汽车管理系统 系 别: 计算机科学与技术系 专 业: 计算机科学与计算专业 组 别: 第二组 起止日期: 2010年12月7日 2010 年 12月28日指导教师: 周强 计算机科学与技术系二一年制课程设计题目长途汽车信息管理系统组长粱炎光学号2008210768班级08计科系别计算机科学与技术系专业计算机科学与技术专业组员范远军、王超、熊国富、张雷指导教师 周强课程设计目的实现长途汽车管理系统的一些基本的功能,能够熟练地掌握SQL语句的用法,并且懂得如何团队协作开发程序课程设计所需环境Windows xp系统、SQL se
2、rver 2000、JDK和JCreator课程设计任务要求要求包括汽车信息管理系统、票价信息管理系统、线路信息管理系统课程设计工作进度计划及分工情况序号起止日期工 作 内 容分工情况111月29日12月1日确定组员分工情况、阐明系统的开发背景组长和组员共同完成212月2日12月3日确定系统功能的基本描述以及需求分析熊国富、范远军负责此项312月4日12月9日ER图的设计、完成数据库创建粱炎光负责此项412月10日12月13日汽车管理系统系统的界面代码设计王超负责查询等操作界面,粱炎光负责系统登陆界面512月14日12月17日汽车管理系统系统的功能代码设计张雷,熊国富负责此项612月18日12
3、月20日连接数据库、测试程序、以及调试程序所有人共同完成712月21日12月26日完成课程设计报告的填写与设计范远军负责此项教研室审核意见:教研室主任签字: 年 月 日目录1 需求分析41.1课程设计任务及要求41.2 课程设计思想42 概念模型设计52.1 功能设计52.2 长途汽车信息系统功能模块62.3系统E_R图73逻辑模型设计与优化74物理设计与实施85详细设计85.1 登陆界面代码85.2 主操作界面115.3 汽车查询代码145.4 汽车插入、修改等代码175.5 车票删除代码216 调试与操作说明236.1 登陆界面236.2 选择操作界面236.3 选择表界面246.4 查询
4、界面256.5 部分查询界面256.6 修改、插入界面256.7 删除界面267设计心得26致谢28参考文献281 需求分析1.1课程设计任务及要求长途汽车信息管理系统运用在汽车站部门的系统工具,方便此系统部门的工作人员的工作,该系统主要根据此部门的特点建立的,是记录和查询汽车站信息的的依据。早期的长途汽车站信息主要是人工记录和人工管理的,不仅不容易记录,而且还不容易保存。随着计算机的不断普及和软件系统的不断发展加上信息系统开发的迫切需求,计算机长途汽车站信息管理系统应运而生了。随着市场经济的不断飞速发展,交通道路环境的不断改善,人们的出行次数不断增多,人口流动频繁,数量不断加大,车站信息量迅
5、猛增长,长途汽车站信息管理系统在人们的日常生活中发挥着越来越重要的作用。本系统实现了汽车线路信息,汽车信息,票务信息的查询和管理,以满足人们的需求。线路信息管理:车站管理员可以在线路信息管理模块对车站线路信息进行管理。管理员首先建立汽车线路信息数据库,输入原始的线路信息,当有新的线路需要添加或者需要对已有的线路信息进行修改,删除的时候,管理员就可以进行相应的操作。管理员也可以通过本模块查询到所有需要查询的线路的详细信息。汽车信息管理:管理员可以在汽车信息管理模块实现对汽车信息的管理。管理员首先应该建立汽车信息数据库,输入原始的数据信息,当有新的汽车信息的时候或者管理员需要修改某个汽车的相关信息
6、以及想要删除某个汽车信息的时候,就可以完成相应的操作。管理员也可以在整个数据库中查寻相关汽车信息。车票信息管理:管理员可以在车票管理模块实现对线路车票信息的管理。管理员根据相应的汽车线路信息来设置相应的车票详细信息。当有新的线路添加的时候,要把相应的车票信息添加到数据库中,管理员还可以对某条线路的车票信息进行修改,删除和查询操作。1.2 课程设计思想(1)充分利用所学过的数据库的相关知识建立长途汽车管理系统所需的数据库。(2)进行详细的功能设计,在Java中利用ODBC连接数据库技术对数据库中数据进行操作,并能进行多表之间的链接与查询操作。2 概念模型设计2.1 功能设计在Java中利用ODB
7、C访问技术操作数据库,建立到数据库中的映射类,在对话框类中通过引用映射类完成对数据库的操作。程序分为登陆界面,选择界面,线路信息界面,汽车信息界面,车票信息这几个主体界面。使用时应先知道管理员帐号和密码,登陆进入系统主菜单界面,里面包括线路信息,汽车信息,车票信息,退出程序菜单选项。所需时间等,可以对它们进行添加,查询,删除,其中线路信息界面包括包括出发地、目的地、出发时间、修改,返回主菜单的操作;汽车信息和车票信息的界面与其类似。需要特别说明的是,当对数据进行操作时,在查询框内输入提示数据内容,对话框的表中和提示栏中都会出现所查询的数据,我们可以在提示栏中对数据进行删除和修改操作。2.2 长
8、途汽车信息系统功能模块图 2-12.3系统E_R图图 2-23逻辑模型设计与优化管理员登陆:Manager(username,passwd)汽车表:Qiche(busno,zhonglei,zaike)车票表:Chepiao(ticketno,shoupiao,busno,shengyu,yishou,piaojia)线路表:Xianlu(mudidi,chufadi,chushi,yongshi)行驶表:Xingshi(mudidi,busno,licheng)4物理设计与实施表1: 管理员登陆表字段字段名称数据类型是否为空主码外码备注Username用户名Varchar(20)Not nu
9、ll是Passwd密码Varchar(20)Not null表2: 路线表字段字段名称数据类型是否为空主码外码备注chufadi出发地Char(20)Not null是mudidi目的地Char(20)Not null是shijian时间timeNot nullbusno汽车号Char(20)Not null是表3: 汽车表字段字段名称数据类型是否为空主码外码备注busno汽车号Char(20)Not null是zhonglei类别Char(20)Not nullzaike载客Char(20)Not null表4: 行驶表字段字段名称数据类型是否为空主码外码备注busno汽车号Char(20)
10、Not nullchufadi出发地Char(20)Not nullmudidi目的地Char(20)Not nulllicheng里程Char(20)Not null表5: 车票表字段字段名称数据类型是否为空主码外码备注busno汽车号Char(20)Not null是ticketno车票号Char(20)Not null是shoupiao售票Char(20)Not nullyishou已售Char(20)Not nullshengyu剩余Char(20)Not nullpiaojia票价Char(20)Not null 5详细设计5.1 登陆界面代码在此模式下通过输入管理员名及密码,以获取
11、权限,进入各项操作的界面。package changtu;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import java.io.*;public class denglu extends JFrame implements ActionListenerstatic JLabel jl=new JLabel("欢迎登陆汽车管理系统");static JLabel jl2=new JLabel();static JLabel jl3=new JLabel(&
12、quot;姓名");static JLabel jl4=new JLabel("密码");static JButton jb1=new JButton("确定");static JButton jb2=new JButton("返回");static JTextField jt1=new JTextField();static JTextField jt2=new JTextField();static Opration op=new Opration();Statement st;public void Dl(Statem
13、ent sta)this.st=sta;setSize(300,250);setVisible(true);setLayout(null);jl.setBounds(80,20,200,20);jl3.setBounds(60,60,50,20);jl4.setBounds(60,100,50,20);jl2.setBounds(100,140,200,20);jb1.setBounds(80,180,60,30);jb2.setBounds(160,180,60,30);jt1.setBounds(100,60,100,20);jt2.setBounds(100,100,100,20);ad
14、d(jl);add(jl2);add(jl3);add(jl4);add(jt1);add(jt2);add(jb1);add(jb2);jb1.addActionListener(this);jb2.addActionListener(this);public static void main(String args)tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(Exception e)System.out.println("连接失败!");return; tryConnection co
15、n=DriverManager.getConnection("jdbc:odbc:changtu", "sa", "");Statement stmt=con.createStatement();new denglu().Dl(stmt);catch(Exception e) System.out.println(e); public void actionPerformed(ActionEvent e)Object s=e.getSource();ResultSet rs;if(s.equals(jb1)tryrs=st.execu
16、teQuery("select xingmin,mima from manager");while(rs.next()String a=rs.getString("xingmin");String b=rs.getString("mima");if(a.equals(jt1.getText()&&b.equals(jt2.getText()dispose();op.opration(); jl2.setText("姓名或密码错误!");jl2.setForeground(Color.red);cat
17、ch(Exception e1) System.out.println(e); if(s.equals(jb2)System.exit(0);5.2 主操作界面在此模式下,可以实现查询,插入,删除,及总查询等诸多功能。package changtu;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Opration extends JFrame implements ActionListenerstatic JLabel jl=new JLabel("请选择一种操作:");
18、/定义标签static JRadioButton jc1=new JRadioButton("查询操作");/单选按钮static JRadioButton jc2=new JRadioButton("插入操作");static JRadioButton jc3=new JRadioButton("删除操作");static JRadioButton jc4=new JRadioButton("修改操作");static JButton jb1=new JButton("确定");/按钮stat
19、ic JButton jb2=new JButton("返回");static ButtonGroup bg=new ButtonGroup();public static int flag;static Check ch=new Check();public void xuanze()setTitle("操作选择");/设置界面内容setSize(300,270);/界面大小setLayout(null);/界面布局jl.setBounds(70,10,150,20);/设置位置大小jc1.setBounds(60,50,150,20);jc2.set
20、Bounds(60,90,150,20);jc3.setBounds(60,130,150,20);jc4.setBounds(60,170,150,20);jb1.setBounds(80,210,60,20);jb2.setBounds(160,210,60,20);jc1.setSelected(true);/设为选中bg.add(jc1);bg.add(jc2);bg.add(jc3);bg.add(jc4);add(jl);add(jc1);add(jc2);add(jc3);add(jc4);add(jb1);add(jb2);jc1.addActionListener(this)
21、;/加入事件监听jc2.addActionListener(this);jc3.addActionListener(this);jc4.addActionListener(this);jb1.addActionListener(this);jb2.addActionListener(this);setVisible(true);public int getState()return flag;public static void opration()new Opration().xuanze();public void actionPerformed(ActionEvent e)Object
22、s=e.getSource();/事件源if(s.equals(jb1)if(jc1.isSelected()flag=1;setVisible(false);ch.ch();else if(jc2.isSelected()flag=2;setVisible(false);ch.ch();else if(jc3.isSelected()flag=3;setVisible(false); ch.ch();else if(jc4.isSelected()flag=4;setVisible(false); ch.ch();if(s.equals(jb2)System.exit(0);5.3 汽车查询
23、代码在此模式下输入汽车的某一项信息,可以获得汽车编号、汽车种类、载客量等信息,如输入汽车编号01,便可以显示01车的其他信息。package changtu;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import java.io.*;public class Qchepiao extends JFrame implements ActionListener Statement st=null;JTextArea ja=new JTextArea("编号 售票 剩余
24、已售n");JTextField jt=new JTextField();JRadioButton jc1=new JRadioButton("查询全部");JRadioButton jc2=new JRadioButton("部分查询");ButtonGroup bg=new ButtonGroup();JButton jb1=new JButton("查询");JButton jb2=new JButton("返回");JButton jb3=new JButton("退出");s
25、tatic Opration op=new Opration();public void Qcp(Statement sta) this.st=sta;/Statement语句传输setSize(400,300);setLayout(null);setVisible(true);/设置界面可见jc1.setBounds(20,20,80,20);jc2.setBounds(20,60,80,20);jt.setBounds(20,100,80,30);jb1.setBounds(30,150,60,30);jb2.setBounds(120,220,60,30);jb3.setBounds(2
26、30,220,60,30);ja.setBounds(120,20,250,200);bg.add(jc1);bg.add(jc2);add(jc1);add(jc2);add(jt);add(jb1);add(jb2);add(jb3);add(ja);jc1.addActionListener(this);jc2.addActionListener(this);jb1.addActionListener(this);jb2.addActionListener(this);jb3.addActionListener(this);public void actionPerformed(Acti
27、onEvent e)Object s=e.getSource();ResultSet rs=null;String a1;if(s.equals(jb1)if(jc1.isSelected()tryrs=st.executeQuery("select bianhao,shoupiao,shengyu,yishou from chepiao"); ja.setText(""); ja.setText("编号 售票 剩余 已售n");while(rs.next()String a=rs.getString("bianhao&qu
28、ot;);String b=rs.getString("shoupiao");String c=rs.getString("shengyu");String d=rs.getString("yishou"); ja.append(a+""+b+""+c+""+d+"n"); catch(Exception e1) System.out.println(e); if(jc2.isSelected() try ja.setText("");
29、 ja.setText("编号 售票 剩余 已售n"); rs=st.executeQuery("select bianhao,shoupiao,shengyu,yishou from chepiao where bianhao='"+jt.getText()+"' or shoupiao='"+jt.getText()+"'or shengyu='"+jt.getText()+"'or yishou='"+jt.getText()+&qu
30、ot;'"); while(rs.next() String a=rs.getString("bianhao");String b=rs.getString("shoupiao");String c=rs.getString("shengyu");String d=rs.getString("yishou"); ja.append(a+""+b+""+c+""+d+"n"); catch(Exception e1) S
31、ystem.out.println(e); if(s.equals(jb2)dispose();op.xuanze();if(s.equals(jb3)System.exit(0);5.4 汽车插入、修改等代码在此模式下,我们可以轻松的实现对汽车的信息的修改,以及在增加班车后,实现插入该车的信息。package changtu;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class Ichepiao extends JFrame implements Action
32、ListenerStatement st=null;JLabel jl1=new JLabel("编号");JLabel jl2=new JLabel("售票");JLabel jl3=new JLabel("剩余");JLabel jl4=new JLabel("已售");JLabel jl5=new JLabel();JTextField jt1=new JTextField();JTextField jt2=new JTextField();JTextField jt3=new JTextField();JT
33、extField jt4=new JTextField();JButton jb1=new JButton("插入");JButton jb2=new JButton("返回");JButton jb3=new JButton("修改"); static Opration op=new Opration();public void Icp(Statement sta)this.st=sta;setLayout(null);setSize(300,300);setVisible(true);jl1.setBounds(20,20,80,
34、20);jl2.setBounds(20,60,80,20);jl3.setBounds(20,100,80,20);jl4.setBounds(20,140,80,20);jt1.setBounds(100,20,40,20);jt2.setBounds(100,60,40,20);jt3.setBounds(100,100,40,20);jt4.setBounds(100,140,40,20);jl5.setBounds(100,180,100,20);jb1.setBounds(200,100,60,20);jb2.setBounds(200,140,60,20); jb3.setBou
35、nds(200,60,60,20);add(jl1);add(jl2);add(jl3);add(jl4);add(jl5);add(jt1);add(jt2);add(jt3);add(jt4);add(jb1);add(jb2);add(jb3);jb1.addActionListener(this);jb2.addActionListener(this);jb3.addActionListener(this);public void actionPerformed(ActionEvent e)Object s=e.getSource();if(s.equals(jb1)tryString
36、 st1="insert into chepiao values('"+jt1.getText()+"','"+jt2.getText()+"','"+jt3.getText()+"','"+jt4.getText()+"')"st.executeUpdate(st1);jl5.setText("插入成功");jl5.setForeground(Color.red);catch(Exception e1) Sys
37、tem.out.println(e); if(s.equals(jb2)dispose(); op.xuanze();if(s.equals(jb3)if(jt2.getText()!=null&&!"".equals(jt2.getText()/判断文本非空tryString str2="update chepiao set shoupiao='"+jt2.getText()+"' where bianhao='"+jt1.getText()+"'" st.exec
38、uteUpdate(str2);/更新数据库catch(Exception e1) System.out.println(e); if(jt3.getText()!=null&&!"".equals(jt3.getText()tryString str2="update chepiao set shengyu='"+jt3.getText()+"' where bianhao='"+jt1.getText()+"'" st.executeUpdate(str2);ca
39、tch(Exception e1) System.out.println(e); if(jt4.getText()!=null&&!"".equals(jt4.getText()tryString str2="update chepiao set yishou='"+jt4.getText()+"' where bianhao='"+jt1.getText()+"'" st.executeUpdate(str2);catch(Exception e1) System.
40、out.println(e); jl5.setText("修改车票信息成功");jl5.setForeground(Color.blue);/设置字体颜色this.dispose();5.5 车票删除代码在此模式下,我们可以删除指定的无用的汽车信息,以便汽车信息的更新。package changtu;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class Dchepiao extends JFrame implements ActionList
41、enerStatement st=null;JTextField jt1=new JTextField();JLabel jl1=new JLabel("删除的信息");JLabel jl2=new JLabel();JButton jb1=new JButton("删除");JButton jb2=new JButton("返回");static Opration op=new Opration();public void Dcp(Statement sta)this.st=sta;setSize(200,200);setLayou
42、t(null);setVisible(true);jl1.setBounds(60,20,100,20);jt1.setBounds(70,40,40,20);jl2.setBounds(40,80,140,20);jb1.setBounds(40,120,60,20);jb2.setBounds(110,120,60,20);add(jl1);add(jl2);add(jb1);add(jb2);add(jt1);jb1.addActionListener(this);jb2.addActionListener(this);public void actionPerformed(Action
43、Event e)JButton jb=(JButton)e.getSource();ResultSet rs=null;if(jb=jb1)tryString st1="delete from chepiao where bianhao='"+jt1.getText()+"'or shoupiao='"+jt1.getText()+"'or shengyu='"+jt1.getText()+"'or yishou='"+jt1.getText()+"'"st.executeUpdate(st1); jl2.setText("删除车票信息成功"); jl2.setForeground(Color.red);catch(Exception e1) System.out.println(e); if(jb=jb2)dispose();/释放内存 op.xuanze();/调用Opration中xuanze方法6 调试与操作说明6.1 登陆界面编译程序,会出现如图5-1的登陆界面,管理员通过输入管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 205下考前综合英语+解析【2025届最后一发】南京教研室考前综合
- 2023-2024学年山西省吕梁市高二下学期期末调研测试数学试题(解析版)
- 2023-2024学年湖南省长沙市高二下学期期末调研数学试卷(解析版)
- 2023-2024学年河南省周口市鹿邑县高二下学期7月期末考试数学试题(解析版)
- 2023-2024学年广东省广州市番禺区高二下学期期末教学质量监测数学试题(解析版)
- 2024-2025学年山西省部分校高一下学期开学质量检测语文试题(解析版)
- 2025年秋三年级上册语文同步教案 口语交际:名字里的故事
- 合同问题回复函
- 幼儿园健康教育特色汇报讲课件
- 食品原料采购中的食品留样和检验
- 某院检验科仪器设备档案
- 中铝中州矿业有限公司禹州市方山铝土矿矿山地质环境保护和土地复垦方案
- 职业卫生知识培训记录
- 起重设备维护保养记录(完整版)
- 网络信息安全培训课件-PPT
- 北京市医药卫生科技促进中心关于印发《首都医学科技创新成果转化优促计划实施方案(试行)的通知》
- (完整版)互联网+项目策划书
- THBLS 0011-2023 荆楚粮油 优质油菜籽生产技术规程
- 2023春国开社会调查研究与方法单元自测1-5试题及答案
- 美国AHA心肺复苏指南
- HAND-成本模块:移动平均成本-系统操作
评论
0/150
提交评论