長途汽車信息管理系統(tǒng) 課程設(shè)計報告
《長途汽車信息管理系統(tǒng) 課程設(shè)計報告》由會員分享,可在線閱讀,更多相關(guān)《長途汽車信息管理系統(tǒng) 課程設(shè)計報告(50頁珍藏版)》請在裝配圖網(wǎng)上搜索。
. 學(xué)號 2014-2015學(xué)年 第一學(xué)期 120 《數(shù)據(jù)庫系統(tǒng)概論》 課程設(shè)計報告 題目: 長途汽車信息管理系統(tǒng) 專業(yè): 計算機科學(xué)與技術(shù) 班級: 班 姓名: 指導(dǎo)教師: 成績: 計算機與信息工程系 2014年 10月 12 日 目錄 1設(shè)計內(nèi)容及要求 1 1.1設(shè)計內(nèi)容 1 1.2設(shè)計任務(wù)及具體要求 1 2原理及分析 2 2.1需求分析 2 2.2系統(tǒng)功能簡介 2 2.3程序框圖 3 3設(shè)計過程和程序代碼 5 3.1數(shù)據(jù)庫表格的設(shè)計概述 5 3.2數(shù)據(jù)庫表格的實現(xiàn)過程 6 3.3程序的構(gòu)造方法及其實現(xiàn) 15 3.4 數(shù)據(jù)庫與Java程序的鏈接 24 4設(shè)計結(jié)果與分析 25 4.1設(shè)計結(jié)果截圖 25 4.2 設(shè)計結(jié)果分析 28 5小結(jié) 29 參考文獻 30 致謝 31 附錄:源程序 32 . . 1設(shè)計內(nèi)容及要求 1.1設(shè)計內(nèi)容 本次課程設(shè)計名稱為長途汽車信息管理系統(tǒng),用戶登錄后主要實現(xiàn)對線路信息,汽車信息,售票信息,乘客信息進行基本操作的功能。該系統(tǒng)功能主要包括以下幾個模塊: (1)充分利用所學(xué)過的數(shù)據(jù)庫的相關(guān)知識建立長途汽車信息管理系統(tǒng)所需的數(shù)據(jù)庫。 (2)對線路信息(包括出發(fā)地、目的地、出發(fā)時間、所需時間等)汽車信息(最大載客量、汽車類型、剩余座位等)售票信息(包括售票情況、票價)乘客信息(包括姓名、年齡、性別等)的查詢、添加和刪除操作。 (3)進行詳細(xì)的功能設(shè)計后,在Java中利用JDBC連接數(shù)據(jù)庫技術(shù)對數(shù)據(jù)庫中數(shù)據(jù)進行操作,并能進行多表之間的鏈接與查詢操作。 1.2設(shè)計任務(wù)及具體要求 (1)設(shè)計任務(wù): 長途汽車信息管理系統(tǒng)運用在汽車站部門的系統(tǒng)工具,方便此系統(tǒng)部門的工作人員的工作,該系統(tǒng)主要根據(jù)此部門的特點建立的,是記錄和查詢汽車站信息的的依據(jù)。隨著市場經(jīng)濟的不斷飛速發(fā)展,交通道路環(huán)境的不斷改善,人們的出行次數(shù)不斷增多,人口流動頻繁,數(shù)量不斷加大,車站信息量迅猛增長,長途汽車站信息管理系統(tǒng)在人們的日常生活中發(fā)揮著越來越重要的作用。本系統(tǒng)實現(xiàn)了汽車線路信息,汽車信息,票務(wù)信息的查詢和管理,以滿足人們的需求。 (2)具體要求: 車站管理員可以在線路信息管理、汽車信息管理等模塊對車站線路信息、票價信息、乘客信息等進行管理。管理員首先建立相應(yīng)模塊的信息數(shù)據(jù)庫,輸入原始的線路、汽車、車票、乘客信息,當(dāng)有新數(shù)據(jù)需要添加或者需要對已有的信息進行修改,刪除的時候,管理員就可以進行相應(yīng)的操作。管理員也可以通過本模塊查詢到所有需要查詢的線路、汽車、車票、乘客的詳細(xì)信息。 2原理及分析 2.1需求分析 長途汽車信息管理數(shù)據(jù)庫系統(tǒng)是面向所有汽車的數(shù)據(jù)管理系統(tǒng),其目的是使乘車有序化,規(guī)范化,簡單化,易于車站人員的管理,查詢。本系統(tǒng)主要包括以下幾個模塊:乘客信息、汽車信息、線路以及車票的信息這四個功能模塊基本實現(xiàn)設(shè)計本系統(tǒng)的目的,從而可以進一步滿足車站對乘客乘車管理的要求。長途汽車信息管理系統(tǒng)運用在汽車站和火車站等車站部門的系統(tǒng)工具,方便此系統(tǒng)部門的工作人員的工作,該系統(tǒng)主要根據(jù)此部門的特點建立的,是記錄和查詢汽車站信息的的依據(jù)。早期的長途汽車站信息主要是人工記錄和人工管理的,不僅不容易記錄,而且還不容易保存。隨著計算機的不斷普及和軟件系統(tǒng)的不斷發(fā)展加上信息系統(tǒng)開發(fā)的迫切需求,計算機長途汽車站信息管理系統(tǒng)應(yīng)運而生了。 隨著市場經(jīng)濟的不斷飛速發(fā)展,交通道路環(huán)境的不斷改善,人們的出行次數(shù)不斷增多,人口流動頻繁,數(shù)量不斷加大,車站信息量迅猛增長,長途汽車站信息管理系統(tǒng)在人們的日常生活中發(fā)揮著越來越重要的作用。本系統(tǒng)實現(xiàn)了汽車線路信息,汽車信息,票價信息的查詢和管理,滿足人們的需求。 2.2系統(tǒng)功能簡介 在Java中利用ODBC訪問技術(shù)操作數(shù)據(jù)庫,建立到數(shù)據(jù)庫中的映射類,在對話框類中通過引用映射類完成對數(shù)據(jù)庫的操作。 程序分為登陸界面,選擇界面,線路信息界面,汽車信息界面,車票信息這幾個主體界面。使用時應(yīng)先知道管理員帳號和密碼,登陸進入系統(tǒng)主菜單界面,里面包括線路信息,汽車信息,車票信息,退出程序菜單選項。所需時間等,可以對它們進行添加,查詢,刪除,其中線路信息界面包括包括出發(fā)地、目的地、出發(fā)時間、修改,返回主菜單的操作;汽車信息和車票信息的界面與其類似。 需要特別說明的是,當(dāng)對數(shù)據(jù)進行操作時,在查詢框內(nèi)輸入提示數(shù)據(jù)內(nèi)容,對話框的表中和提示欄中都會出現(xiàn)所查詢的數(shù)據(jù),我們可以在提示欄中對數(shù)據(jù)進行刪除和修改操作。 2.3程序框圖 (1)數(shù)據(jù)庫E—R圖 線路信息圖: 線路信息 出發(fā)地 出發(fā)時間 行駛總的總時間 目的地 圖1-1 線路信息圖 汽車信息圖: 汽車信息 最大的載客量 汽車的類型 剩余座位 班次編號 圖1-2 汽車信息圖 車票信息圖: 車票信息 售票情況 車票查詢 打印相應(yīng)的車票 圖1-3 車票信息圖 乘客信息圖: 乘客信息 姓名 年齡 民族 性別 圖1-4 乘客信息圖 (2)長途汽車信息管理系統(tǒng)功能模塊圖 圖1-5 系統(tǒng)功能模塊圖 3設(shè)計過程和程序代碼 3.1數(shù)據(jù)庫表格的設(shè)計概述 1實體類型結(jié)構(gòu) 汽車線路(出發(fā)地,目的地,出發(fā)時間,行駛的總時間) 汽車(汽車類型,班次,最大載客數(shù),剩余座位) 車票(已買票數(shù),剩余票數(shù),票價) 乘客(姓名,年齡,性別,民族) 2聯(lián)系類型結(jié)構(gòu) 乘坐(汽車班次,類型) 供應(yīng)(數(shù)量) 行駛(線路) 3邏輯設(shè)計階段 根據(jù)ER模型轉(zhuǎn)換成關(guān)系模型的規(guī)則,可把上述ER圖轉(zhuǎn)換成5個關(guān)系模式,從而實現(xiàn)對乘客驗證ER模型向關(guān)系數(shù)據(jù)模型的轉(zhuǎn)換,具體如下: 汽車線路(出發(fā)地,目的地,出發(fā)時間,行駛的總時間) 汽車(汽車類型,汽車班次,最大載客數(shù),剩余座位數(shù)) 車票(已買票數(shù),剩余票數(shù),票價) 乘客(姓名,年齡,性別,民族) 乘坐(所需時間,汽車班次,票價,乘客姓名) 冗余問題檢查: 在各關(guān)系模式中,可得出每個關(guān)系的屬性值都是不可分的,因此各關(guān)系模式都是規(guī)范化關(guān)系;又可從以上各關(guān)系模式中可得每個屬性都不傳遞依賴于各關(guān)系模式的候選鍵,且轉(zhuǎn)換后各個屬性值的數(shù)據(jù)并沒有丟失,數(shù)據(jù)共享率高,所以在ER模型向關(guān)系模式轉(zhuǎn)化時不存在冗余問題。 3.2數(shù)據(jù)庫表格的實現(xiàn)過程 1. 創(chuàng)建汽車線路表 用Microsoft SQL 2000 Server數(shù)據(jù)庫系統(tǒng)的Transact-SQL語句定義創(chuàng)建這個表,程序如下: create table Busline ( Source char(20) , Destination char(20) , Start char(15), Alltime smallint primary key, ); 將代碼寫入SQL查詢分析器的SQL編輯窗體中,并運行可得創(chuàng)建的Busline表及其屬性如圖1-6: 圖1-6 Busline表格屬性 往表中加數(shù)據(jù)語句如下: insert into Busline values(淮南,合肥,8:00,50); insert into Busline values(淮南,蚌埠,8:30,59); insert into Busline values(淮南,阜陽,7:30,60); insert into Busline values(淮南,宿州,8:10,65); insert into Busline values(淮南,蕪湖,7:00,70); insert into Busline values(淮南,安慶,9:00,71); insert into Busline values(淮南,桐城,9:50,78); insert into Busline values(淮南,亳州,8:50,80); insert into Busline values(淮南,黃山,9:00,100); 由以上可得一個表名為”Busline”的數(shù)據(jù)表就建成了如圖1-7: 2. 創(chuàng)建汽車表 用Microsoft SQL 2000 Server數(shù)據(jù)庫系統(tǒng)的Transact-SQL語句定義創(chuàng)建這個表,程序如下: create table Bus ( Type char(20), Maxpassenger smallint, Turn char (20) primary key, Remainder smallint, ); 將代碼寫入SQL查詢分析器的SQL編輯窗體中,并運行可得數(shù)據(jù)空表如圖1-8所示: 創(chuàng)建的Bus表及其屬性如下: 往表中加數(shù)據(jù)語句如下: insert into Bus values(大,50,0001,20) insert into Bus values(大,50,0002,30) insert into Bus values(大,45,0003,15) insert into Bus values(中,35,0004,21) insert into Bus values(中,35,0005,16) insert into Bus values(小,25,0006,5) insert into Bus values(小,25,0007,7) insert into Bus values(小,25,0008,11) 由以上可得一個表名為”Bus”的數(shù)據(jù)表就建成了如圖1-9: 3. 創(chuàng)建車票表 用Microsoft SQL 2000 Server數(shù)據(jù)庫系統(tǒng)的Transact-SQL語句定義創(chuàng)建這個表,程序如下: create table Ticket ( Sold smallint, Remainder smallint, Price smallint primary key, ); 將代碼寫入SQL查詢分析器的SQL編輯窗體中,并運行可得數(shù)據(jù)空表如圖2所示: 創(chuàng)建的Ticket表及其屬性如下圖1-10: 往表中加數(shù)據(jù)語句如下: insert into Ticket values(22,3,15) insert into Ticket values(19,6,16) insert into Ticket values(20,5,18) insert into Ticket values(30,15,26) insert into Ticket values(20,30,27) insert into Ticket values(28,6,15) insert into Ticket values(26,4,17) 繼續(xù)添加數(shù)據(jù) 由以上可得一個表名為”Ticket”的數(shù)據(jù)表就建成了如圖1-11: 4. 創(chuàng)建乘客表 用Microsoft SQL 2000 Server數(shù)據(jù)庫系統(tǒng)的Transact-SQL語句定義創(chuàng)建這個表,程序如下: create table Passenger ( Pname char(10) primary key, Psex char(2), Pracial char(5), Psage smallint, ); 將代碼寫入SQL查詢分析器的SQL編輯窗體中,并運行可得數(shù)據(jù)空表如圖2所示: 創(chuàng)建的Passenger表及其屬性如下圖1-12: 往表中加數(shù)據(jù)語句如下: insert into Passenger values(高健,男,漢,23) insert into Passenger values(王小明,男,漢,21) insert into Passenger values(安妮,女,漢,19) insert into Passenger values(張凱,男,漢,21) insert into Passenger values(王睿,女,漢,21) insert into Passenger values(姚潔,女,漢,20) insert into Passenger values(劉佳,女,漢,28) insert into Passenger values(楊楓,男,漢,33) insert into Passenger values(李勇,男,漢,29) insert into Passenger values(王妮,女,漢,25) insert into Passenger values(張云,男,漢,37) insert into Passenger values(李露,女,漢,23) 由以上可得一個表名為”Passenger”的數(shù)據(jù)表就建成了如圖1-13: 5.創(chuàng)建Bbtp表 用Microsoft SQL 2000 Server數(shù)據(jù)庫系統(tǒng)的Transact-SQL語句定義創(chuàng)建這個表,程序如下: create table Bbtp ( Alltime smallint, Turn char (20), Price smallint, Pname char(10) primary key, foreign key (Alltime) references Busline(Alltime), foreign key (Price) references Ticket(Price), foreign key (Turn) references Bus(Turn), ); 將代碼寫入SQL查詢分析器的SQL編輯窗體中,并運行可得數(shù)據(jù)空表如圖2所示: 創(chuàng)建的Bbtp表及其屬性如下圖1-14: 往表中加數(shù)據(jù)語句如下: insert into Bbtp values(60,0004,15,高健) insert into Bbtp values(50,0005,16,王小明) insert into Bbtp values(70,0001,18,安妮) insert into Bbtp values(71,0007,15,張凱) insert into Bbtp values(78,0003,15,王睿) insert into Bbtp values(60,0006,16,姚潔) insert into Bbtp values(650,0002,16,劉佳) insert into Bbtp values(70,0004,18,楊楓) insert into Bbtp values(80,0001,18,李勇) insert into Bbtp values(65,0005,18,王妮) insert into Bbtp values(100,0004,18,張云) insert into Bbtp values(70,0001,16,李露) 由以上可得一個表名為”Bbtp”的數(shù)據(jù)表就建成了如圖1-15: 3.3程序的構(gòu)造方法及其實現(xiàn) 因為長途汽車信息管理系統(tǒng)可以實現(xiàn)對不同信息的不同操作,程序中分別構(gòu)造各個功能模塊供信息操作使用,詳細(xì)設(shè)計及主要代碼如下: (1)登陸界面代碼 在此模式下通過輸入管理員名及密碼,以獲取權(quá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 ActionListener { static JLabel jl=new JLabel("歡迎登陸汽車管理系統(tǒng)"); static JLabel jl2=new JLabel(); static JLabel jl3=new JLabel("姓名"); 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(Statement 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); add(jl); add(jl2); add(jl3); add(jl4); add(jt1); add(jt2); add(jb1); add(jb2); jb1.addActionListener(this); jb2.addActionListener(this); } (2)主操作界面 在此模式下,可以實現(xiàn)查詢,插入,刪除,及總查詢等諸多功能。 package changtu; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Opration extends JFrame implements ActionListener { static JLabel jl=new JLabel("請選擇一種操作:");//定義標(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("確定");//按鈕 static 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.setBounds(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);//加入事件監(jiān)聽 jc2.addActionListener(this); jc3.addActionListener(this); jc4.addActionListener(this); jb1.addActionListener(this); jb2.addActionListener(this); setVisible(true); } (3)汽車查詢代碼 在此模式下輸入汽車的某一項信息,可以獲得汽車編號、汽車種類、載客量等信息,如輸入汽車編號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("編號 售票 剩余 已售\n"); JTextField jt=new JTextField(); JRadioButton jc1=new JRadioButton("查詢?nèi)?); JRadioButton jc2=new JRadioButton("部分查詢"); ButtonGroup bg=new ButtonGroup(); JButton jb1=new JButton("查詢"); JButton jb2=new JButton("返回"); JButton jb3=new JButton("退出"); static 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(230,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); } (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 ActionListener { Statement 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(); JTextField 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,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.setBounds(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); } (5) 車票刪除代碼 在此模式下,我們可以刪除指定的無用的汽車信息,以便汽車信息的更新。 package changtu; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class Dchepiao extends JFrame implements ActionListener { Statement 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); setLayout(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(ActionEvent e) { JButton jb=(JButton)e.getSource(); ResultSet rs=null; if(jb==jb1) { try { String 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方法 } } } 3.4 數(shù)據(jù)庫與Java程序的鏈接 圖1-16 數(shù)據(jù)庫鏈接 4設(shè)計結(jié)果與分析 4.1設(shè)計結(jié)果截圖 (1)長途汽車信息管理系統(tǒng)登錄界面 編譯程序,會出現(xiàn)如圖5-1的登陸界面,管理員通過輸入管理員姓名和密碼,可以登錄汽車管理系統(tǒng)。 圖1-17 登陸界面 (2)選擇操作界面 管理員通過此操作界面可以選擇要實現(xiàn)的操作。 圖1-18 操作界面 (3)選擇表界面 通過單擊查詢操作進入這個界面,來選擇要查詢的信息。 圖1-19選擇表界面 (4)查詢界面 圖1-20 查詢界面 (5) 部分查詢界面 圖1-21部分查詢界面 (6)修改、插入界面 管理員可以通過該界面來實現(xiàn)插入,修改該系統(tǒng)的信息,如圖5-6為插入汽車信息界面。 圖1-22 修改、插入界面 (7)刪除界面 管理員可以通過該界面,刪除無用的信息。 圖1-23刪除界面 4.2 設(shè)計結(jié)果分析 (1)了解長途車站信息系統(tǒng)分析:如需求分析和開發(fā)工具選擇,功能分配。思考要實現(xiàn)整個程序大體需要的幾個模塊和其中用到的Java基本操作符、語句等。 (2)畫設(shè)計方案流程圖并具體化:用流程圖的形式展現(xiàn)基本編程思想。將流圖中的大模塊的具體實現(xiàn)思考清楚,并想好實現(xiàn)的代碼。 (3)編輯程序代碼:這是一個至關(guān)重要復(fù)雜而且需要反復(fù)修改的環(huán)節(jié),在此環(huán)節(jié)中將發(fā)現(xiàn)總體設(shè)計和模塊思想會存在很多問題,需不斷改進.如何實現(xiàn)各函數(shù)功能,達到預(yù)期效果也將是一項繁復(fù)的工作。 (4)代碼的調(diào)試:在Java環(huán)境下輸入代碼并進行調(diào)試和正確運行。在調(diào)試過程中會遇到很多需要精化的地方,需要十足的耐心與細(xì)心,不斷改進完善程序。 (5)最后修飾:程序可以正確運行之后,在不影響程序功能的情況下,運用各種輔助性符號,使界面更加美觀漂亮,操作更人性化,增強程序的新意與可行性?!? 5小結(jié) 這學(xué)期期中學(xué)校就特安排我們進行為期二周的數(shù)據(jù)庫的課程設(shè)計制作,并安排了指導(dǎo)老師幫助輔導(dǎo),讓我們在規(guī)范化、嚴(yán)謹(jǐn)化、實用化上面有了很大進展。在此次長途汽車信息管理系統(tǒng)的開發(fā)過程中,遇到了許多的問題比如:數(shù)據(jù)庫連接錯誤,代碼、對象方法名錯誤等,但經(jīng)過認(rèn)真思考并在老師和同學(xué)的幫助下順利完成了本次設(shè)計,本次課程設(shè)計有很多東西值得我思考并總結(jié)。通過本次課程設(shè)計,使我在制作過程中更加熟練的掌握數(shù)據(jù)庫語言的構(gòu)造方法及技巧,并且使我更加熟悉的掌握了Java語言的運用,幫助我復(fù)習(xí)鞏固了Java語言及其功能,提高了我的動手能力和思維能力。并且從中學(xué)會了將數(shù)據(jù)庫導(dǎo)入到程序系統(tǒng)中的方法,積攢了許多解決實際問題的寶貴經(jīng)驗.長途汽車信息管理系統(tǒng)主要的實現(xiàn)了對線路信息、汽車信息、車票信息的查詢刪除和添加功能,用戶在登陸界面后可以對其信息進行簡單的操作,快速高效的完成人們乘車出行信息的記錄,方便了人們的日常生活,這也是我本次課程設(shè)計制作的主要目的。最后,在這里鄭重的感謝指導(dǎo)老師的幫助,讓我得到了許多精彩的收獲,也感謝學(xué)校提供給我們這次寶貴的實踐機會,讓我們可以在實踐中充分鍛煉邏輯思維、動手制作、查漏補缺的能力,理論與實踐相結(jié)合,以此來提高自己的編程能力和對課本知識的理解, 大大提高了對學(xué)術(shù)研究的態(tài)度及個人素質(zhì)的培養(yǎng)。 參考文獻 [1] 丁寶康. 數(shù)據(jù)庫實用教程習(xí)題解答[M]. 清華大學(xué)出版社. 2004年 [2] 鄭玲利. 數(shù)據(jù)原理與應(yīng)用案例教程[M]. 清華大學(xué)出版社. 2008年 [3] 龍帥. 深入淺出SQL Server 數(shù)據(jù)庫開發(fā)[M]. 中國青年出版社. 2006年04月 [4] 劉大瑋. SQL Server 數(shù)據(jù)庫項目案例導(dǎo)航[M]. 清華大學(xué)出版社. 2005年 [5] 丁寶康. 數(shù)據(jù)庫實用教程[M]. 清華大學(xué)出版社. 2002年09月 [6] 萬常選 廖國瓊. 數(shù)據(jù)庫系統(tǒng)原理與設(shè)計. 清華大學(xué)出版社. 2009年 [7] 王珊 薩師煊. 數(shù)據(jù)庫系統(tǒng)概論. 高等教育出版社. 2006年07月 [8] 黃曉東. Java課程設(shè)計案例精編. 中國水利水電出版社. 2007年01月 [9] 孫一林 彭波. Java 網(wǎng)絡(luò)編程實例[M]. 清華大學(xué)出版社. 2003年 [10] 李宗偉. Java語言描述[M]. 第2版. 機械工業(yè)出版社. 2009年01月 [11] 張銀鶴. Java開發(fā)典型實例[M]. 電子工業(yè)出版社. 2009年01月 [12] 張峋 楊三成. Java應(yīng)用詳解[M]. 中國鐵道出版社. 2010年11月 [13] 袁然 鄭自國. java 案例開發(fā)集錦[M]. 電子工業(yè)出版社. 2005年 [14] 耿祥義. Java 基礎(chǔ)教程[M]. 清華大學(xué)出版社. 2004年10月 [15] 王珊 薩師煊. 數(shù)據(jù)庫系統(tǒng)概論. 高等教育出版社. 2011年03月 致謝 經(jīng)過這一學(xué)期的系統(tǒng)學(xué)習(xí),我們對數(shù)據(jù)庫有了一定的了解,并且學(xué)會了一些常用的操作方法以及熟練應(yīng)用SQL語言。在這次的課程設(shè)計中,我們都有很大的收益但同時也遇到了很多的困難,不過最后我們還是完成了任務(wù)。這當(dāng)中與老師的耐心指導(dǎo)是分不開的。由于我們本身知識的有限性,在遇到困難時,我們不得不上網(wǎng)搜索相關(guān)知識點,解決我們的困難。老師的講解與建議,也給了我們不少的幫助。我們課程設(shè)計的完成,主要歸功于老師的耐心指導(dǎo)與講解,感謝一直給予我?guī)椭椭С值睦蠋?,也感謝本院系給我這次程序設(shè)計的機會,讓我在本次課程設(shè)計中得到了最大的收獲,今后我會繼續(xù)學(xué)習(xí),爭取做到最好。 附錄1: 源程序 package changtu; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; import java.io.*; public class denglu extends JFrame implements ActionListener { static JLabel jl=new JLabel("歡迎登陸汽車管理系統(tǒng)"); static JLabel jl2=new JLabel(); static JLabel jl3=new JLabel("姓名"); 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(Statement 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); add(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[]) { try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(Exception e){ System.out.println("連接失敗!"); return; } try { Connection con=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)) { try{ rs=st.executeQuery("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); } catch(Exception e1){ System.out.println(e); } } if(s.equals(jb2)) { System.exit(0); } } } (2)主操作界面 在此模式下,可以實現(xiàn)查詢,插入,刪除,及總查詢等諸多功能。 package changtu; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Opration extends JFrame implements ActionListener { static JLabel jl=new JLabel("請選擇一種操作:");//定義標(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("確定");//按鈕 static 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.setBounds(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);//加入事件監(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(Ac- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
25 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 長途汽車信息管理系統(tǒng) 課程設(shè)計報告 長途汽車 信息管理 系統(tǒng) 課程設(shè)計 報告
鏈接地址:http://kudomayuko.com/p-12940220.html