




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、滁州學(xué)院課程設(shè)計報告課程名稱: 數(shù)據(jù)庫系統(tǒng)原理與設(shè)計 設(shè)計題目: 長途汽車管理系統(tǒng) 系 別: 計算機(jī)科學(xué)與技術(shù)系 專 業(yè): 計算機(jī)科學(xué)與計算專業(yè) 組 別: 第二組 起止日期: 2010年12月7日 2010 年 12月28日指導(dǎo)教師: 周強(qiáng) 計算機(jī)科學(xué)與技術(shù)系二一年制課程設(shè)計題目長途汽車信息管理系統(tǒng)組長粱炎光學(xué)號2008210768班級08計科系別計算機(jī)科學(xué)與技術(shù)系專業(yè)計算機(jī)科學(xué)與技術(shù)專業(yè)組員范遠(yuǎn)軍、王超、熊國富、張雷指導(dǎo)教師 周強(qiáng)課程設(shè)計目的實現(xiàn)長途汽車管理系統(tǒng)的一些基本的功能,能夠熟練地掌握SQL語句的用法,并且懂得如何團(tuán)隊協(xié)作開發(fā)程序課程設(shè)計所需環(huán)境Windows xp系統(tǒng)、SQL se
2、rver 2000、JDK和JCreator課程設(shè)計任務(wù)要求要求包括汽車信息管理系統(tǒng)、票價信息管理系統(tǒng)、線路信息管理系統(tǒng)課程設(shè)計工作進(jìn)度計劃及分工情況序號起止日期工 作 內(nèi) 容分工情況111月29日12月1日確定組員分工情況、闡明系統(tǒng)的開發(fā)背景組長和組員共同完成212月2日12月3日確定系統(tǒng)功能的基本描述以及需求分析熊國富、范遠(yuǎn)軍負(fù)責(zé)此項312月4日12月9日ER圖的設(shè)計、完成數(shù)據(jù)庫創(chuàng)建粱炎光負(fù)責(zé)此項412月10日12月13日汽車管理系統(tǒng)系統(tǒng)的界面代碼設(shè)計王超負(fù)責(zé)查詢等操作界面,粱炎光負(fù)責(zé)系統(tǒng)登陸界面512月14日12月17日汽車管理系統(tǒng)系統(tǒng)的功能代碼設(shè)計張雷,熊國富負(fù)責(zé)此項612月18日12
3、月20日連接數(shù)據(jù)庫、測試程序、以及調(diào)試程序所有人共同完成712月21日12月26日完成課程設(shè)計報告的填寫與設(shè)計范遠(yuǎn)軍負(fù)責(zé)此項教研室審核意見:教研室主任簽字: 年 月 日目錄1 需求分析41.1課程設(shè)計任務(wù)及要求41.2 課程設(shè)計思想42 概念模型設(shè)計52.1 功能設(shè)計52.2 長途汽車信息系統(tǒng)功能模塊62.3系統(tǒng)E_R圖73邏輯模型設(shè)計與優(yōu)化74物理設(shè)計與實施85詳細(xì)設(shè)計85.1 登陸界面代碼85.2 主操作界面115.3 汽車查詢代碼145.4 汽車插入、修改等代碼175.5 車票刪除代碼216 調(diào)試與操作說明236.1 登陸界面236.2 選擇操作界面236.3 選擇表界面246.4 查詢
4、界面256.5 部分查詢界面256.6 修改、插入界面256.7 刪除界面267設(shè)計心得26致謝28參考文獻(xiàn)281 需求分析1.1課程設(shè)計任務(wù)及要求長途汽車信息管理系統(tǒng)運(yùn)用在汽車站部門的系統(tǒng)工具,方便此系統(tǒng)部門的工作人員的工作,該系統(tǒng)主要根據(jù)此部門的特點建立的,是記錄和查詢汽車站信息的的依據(jù)。早期的長途汽車站信息主要是人工記錄和人工管理的,不僅不容易記錄,而且還不容易保存。隨著計算機(jī)的不斷普及和軟件系統(tǒng)的不斷發(fā)展加上信息系統(tǒng)開發(fā)的迫切需求,計算機(jī)長途汽車站信息管理系統(tǒng)應(yīng)運(yùn)而生了。隨著市場經(jīng)濟(jì)的不斷飛速發(fā)展,交通道路環(huán)境的不斷改善,人們的出行次數(shù)不斷增多,人口流動頻繁,數(shù)量不斷加大,車站信息量迅
5、猛增長,長途汽車站信息管理系統(tǒng)在人們的日常生活中發(fā)揮著越來越重要的作用。本系統(tǒng)實現(xiàn)了汽車線路信息,汽車信息,票務(wù)信息的查詢和管理,以滿足人們的需求。線路信息管理:車站管理員可以在線路信息管理模塊對車站線路信息進(jìn)行管理。管理員首先建立汽車線路信息數(shù)據(jù)庫,輸入原始的線路信息,當(dāng)有新的線路需要添加或者需要對已有的線路信息進(jìn)行修改,刪除的時候,管理員就可以進(jìn)行相應(yīng)的操作。管理員也可以通過本模塊查詢到所有需要查詢的線路的詳細(xì)信息。汽車信息管理:管理員可以在汽車信息管理模塊實現(xiàn)對汽車信息的管理。管理員首先應(yīng)該建立汽車信息數(shù)據(jù)庫,輸入原始的數(shù)據(jù)信息,當(dāng)有新的汽車信息的時候或者管理員需要修改某個汽車的相關(guān)信息
6、以及想要刪除某個汽車信息的時候,就可以完成相應(yīng)的操作。管理員也可以在整個數(shù)據(jù)庫中查尋相關(guān)汽車信息。車票信息管理:管理員可以在車票管理模塊實現(xiàn)對線路車票信息的管理。管理員根據(jù)相應(yīng)的汽車線路信息來設(shè)置相應(yīng)的車票詳細(xì)信息。當(dāng)有新的線路添加的時候,要把相應(yīng)的車票信息添加到數(shù)據(jù)庫中,管理員還可以對某條線路的車票信息進(jìn)行修改,刪除和查詢操作。1.2 課程設(shè)計思想(1)充分利用所學(xué)過的數(shù)據(jù)庫的相關(guān)知識建立長途汽車管理系統(tǒng)所需的數(shù)據(jù)庫。(2)進(jìn)行詳細(xì)的功能設(shè)計,在Java中利用ODBC連接數(shù)據(jù)庫技術(shù)對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行操作,并能進(jìn)行多表之間的鏈接與查詢操作。2 概念模型設(shè)計2.1 功能設(shè)計在Java中利用ODB
7、C訪問技術(shù)操作數(shù)據(jù)庫,建立到數(shù)據(jù)庫中的映射類,在對話框類中通過引用映射類完成對數(shù)據(jù)庫的操作。程序分為登陸界面,選擇界面,線路信息界面,汽車信息界面,車票信息這幾個主體界面。使用時應(yīng)先知道管理員帳號和密碼,登陸進(jìn)入系統(tǒng)主菜單界面,里面包括線路信息,汽車信息,車票信息,退出程序菜單選項。所需時間等,可以對它們進(jìn)行添加,查詢,刪除,其中線路信息界面包括包括出發(fā)地、目的地、出發(fā)時間、修改,返回主菜單的操作;汽車信息和車票信息的界面與其類似。需要特別說明的是,當(dāng)對數(shù)據(jù)進(jìn)行操作時,在查詢框內(nèi)輸入提示數(shù)據(jù)內(nèi)容,對話框的表中和提示欄中都會出現(xiàn)所查詢的數(shù)據(jù),我們可以在提示欄中對數(shù)據(jù)進(jìn)行刪除和修改操作。2.2 長
8、途汽車信息系統(tǒng)功能模塊圖 2-12.3系統(tǒng)E_R圖圖 2-23邏輯模型設(shè)計與優(yōu)化管理員登陸:Manager(username,passwd)汽車表:Qiche(busno,zhonglei,zaike)車票表:Chepiao(ticketno,shoupiao,busno,shengyu,yishou,piaojia)線路表:Xianlu(mudidi,chufadi,chushi,yongshi)行駛表:Xingshi(mudidi,busno,licheng)4物理設(shè)計與實施表1: 管理員登陸表字段字段名稱數(shù)據(jù)類型是否為空主碼外碼備注Username用戶名Varchar(20)Not nu
9、ll是Passwd密碼Varchar(20)Not null表2: 路線表字段字段名稱數(shù)據(jù)類型是否為空主碼外碼備注chufadi出發(fā)地Char(20)Not null是mudidi目的地Char(20)Not null是shijian時間timeNot nullbusno汽車號Char(20)Not null是表3: 汽車表字段字段名稱數(shù)據(jù)類型是否為空主碼外碼備注busno汽車號Char(20)Not null是zhonglei類別Char(20)Not nullzaike載客Char(20)Not null表4: 行駛表字段字段名稱數(shù)據(jù)類型是否為空主碼外碼備注busno汽車號Char(20)
10、Not nullchufadi出發(fā)地Char(20)Not nullmudidi目的地Char(20)Not nulllicheng里程Char(20)Not null表5: 車票表字段字段名稱數(shù)據(jù)類型是否為空主碼外碼備注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詳細(xì)設(shè)計5.1 登陸界面代碼在此模式下通過輸入管理員名及密碼,以獲取
11、權(quán)限,進(jìn)入各項操作的界面。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("歡迎登陸汽車管理系統(tǒng)");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 主操作界面在此模式下,可以實現(xiàn)查詢,插入,刪除,及總查詢等諸多功能。package changtu;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Opration extends JFrame implements ActionListenerstatic JLabel jl=new JLabel("請選擇一種操作:");
18、/定義標(biāo)簽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("操作選擇");/設(shè)置界面內(nèi)容setSize(300,270);/界面大小setLayout(null);/界面布局jl.setBounds(70,10,150,20);/設(shè)置位置大小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);/設(shè)為選中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、;/加入事件監(jiān)聽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("查詢?nèi)?quot;);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);/設(shè)置界面可見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 汽車插入、修改等代碼在此模式下,我們可以輕松的實現(xiàn)對汽車的信息的修改,以及在增加班車后,實現(xiàn)插入該車的信息。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);/更新數(shù)據(jù)庫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);/設(shè)置字體顏色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();/釋放內(nèi)存 op.xuanze();/調(diào)用Opration中xuanze方法6 調(diào)試與操作說明6.1 登陸界面編譯程序,會出現(xiàn)如圖5-1的登陸界面,管理員通過輸入管
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)理操作技術(shù)風(fēng)險與防范考核試題及答案
- 流動相安全交底模板
- 2025年神農(nóng)架林區(qū)社區(qū)專職工作者招聘考試筆試試題(含答案)
- 2025年華潤電力控股內(nèi)蒙古區(qū)域招聘考試筆試試題(含答案)
- 老板的稅務(wù)基礎(chǔ)課件
- 老年友善管理課件
- 2025年安裝維修行業(yè)調(diào)研分析及前景預(yù)測報告
- 場項目投標(biāo)失敗后的品牌形象重塑與宣傳推廣合同
- 體育場館租賃合同范本365版
- 北京市住建委房屋買賣合同
- 電子文件管理復(fù)習(xí)資料
- 水龍頭知識培訓(xùn)課件
- 四川省三臺縣教育和體育局為城區(qū)學(xué)校公開遴選51名部分緊缺學(xué)科教師筆試歷年高頻考點試題含答案帶詳解
- 道德與法治課程2022課標(biāo)解讀
- 從deepfakes深度偽造技術(shù)看AI安全
- 東莞職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試題庫
- 哈弗H5汽車說明書
- 2022清華大學(xué)強(qiáng)基計劃
- 麥格理上市基金指數(shù)
- 第一章對環(huán)境的察覺-(浙教版)
- 金屬與石材幕墻工程技術(shù)規(guī)范-JGJ133-2013含條文說
評論
0/150
提交評論