版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)報(bào)告</p><p> 指導(dǎo)教師: 職稱: </p><p> 2014年12月7日</p><p> 學(xué)生姓名:學(xué) 號(hào):</p><p> 學(xué) 院:</p><p> 班 級(jí):</p><
2、;p> 題 目:火車訂票系統(tǒng)</p><p><b> 目 錄</b></p><p><b> 目 錄1</b></p><p><b> 一、選題背景2</b></p><p> 1.1 時(shí)代所需2</p><p>
3、; 1.2 Java語言和SQL Server數(shù)據(jù)庫2</p><p><b> 二、算法設(shè)計(jì)3</b></p><p> 2.1 業(yè)務(wù)需求的抽象3</p><p> 2.2 全局設(shè)計(jì)框架3</p><p> 2.3 各個(gè)子系統(tǒng)模塊設(shè)計(jì)框圖3</p><p> 三、程序
4、及功能說明6</p><p><b> 四、結(jié)果分析7</b></p><p><b> 五、總 結(jié)12</b></p><p> 六、課程設(shè)計(jì)心得體會(huì)13</p><p><b> 參考文獻(xiàn)14</b></p><p><b&
5、gt; 源程序15</b></p><p><b> 一、選題背景</b></p><p><b> 1.1 時(shí)代所需</b></p><p> 隨著時(shí)代的發(fā)展,計(jì)算軟件和系統(tǒng)的成熟,火車票的正當(dāng)管理成為一個(gè)影響鐵道部門正常運(yùn)營的因素之一,而建立火車票訂票管理系統(tǒng)是一個(gè)很好的解決辦法。 作為計(jì)算機(jī)應(yīng)
6、用的一部分使用計(jì)算機(jī)對(duì)火車票信息進(jìn)行管理,具有手工管理無法比擬的特點(diǎn)。例如檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好等這些優(yōu)點(diǎn)能夠極大的提高火車票信息管理的效率,也正體現(xiàn)了火車票的科學(xué)化正規(guī)化管理。 </p><p> 1.2 Java語言和SQL Server數(shù)據(jù)庫</p><p> 由于數(shù)據(jù)量急劇增長,現(xiàn)在人們就借助計(jì)算機(jī)和數(shù)據(jù)庫技術(shù)科學(xué)的保存大量的數(shù)據(jù),以便能更好的利
7、用這些數(shù)據(jù)資源,便于旅客預(yù)定火車票。本次設(shè)計(jì)應(yīng)用Java語言編寫程序應(yīng)用程序和SQL Server數(shù)據(jù)庫相連接做成一個(gè)火車票訂票系統(tǒng),使得管理員能夠查詢、添加、刪除火車信息。同時(shí)旅客可以通過查詢到相關(guān)的火車信息,預(yù)定火車票,查詢自己預(yù)定的火車票的相關(guān)信息。 </p><p><b> 二、算法設(shè)計(jì)</b></p><p> 2.1業(yè)務(wù)需求的抽象</p>
8、<p> 2.2 全局設(shè)計(jì)框架</p><p> 2.3 各個(gè)子系統(tǒng)模塊設(shè)計(jì)框圖</p><p><b> 三、程序及功能說明</b></p><p> 3.1 Custom.java</p><p> 該程序是乘客的登錄界面,我們設(shè)計(jì)了兩個(gè)按鈕,用來完成用戶的登錄,和注冊跳轉(zhuǎn)。其中登錄功能
9、中,用戶輸入的賬戶與密碼須與數(shù)據(jù)庫中的一致。在注冊功能中,用戶填入的信息將會(huì)被錄入到SQL Server2014中。(具體實(shí)現(xiàn)代碼參見篇末源程序)</p><p> 3.2 CustomLogin.java</p><p> 該程序是火車訂票系統(tǒng)的前臺(tái)核心界面。包含了四個(gè)功能選項(xiàng)供用戶選擇(詳細(xì)見4.13)。用戶對(duì)這四個(gè)功能的操作將會(huì)改變數(shù)據(jù)庫中各個(gè)表的信息。這四個(gè)功能選項(xiàng)分別對(duì)應(yīng)著
10、源程序代碼中的TrainInformationQuery.java、DianPiao.java、TicketQuery.java、TuiPiao button。這四個(gè)子模塊共同構(gòu)成了前臺(tái)系統(tǒng)的主要功能。(具體實(shí)現(xiàn)代碼參見篇末源程序)</p><p> 3.3 Admin.java</p><p> 該程序是后臺(tái)管理員登陸界面,與乘客登陸界面功能類似,但是它沒有注冊功能。管理員的賬號(hào)和
11、密碼在設(shè)計(jì)軟件時(shí)直接被寫入數(shù)據(jù)庫。(具體實(shí)現(xiàn)代碼參見篇末源程序)</p><p> 3.4 Login.java</p><p> 該程序是后臺(tái)管理系統(tǒng)的核心界面,除了給管理員展現(xiàn)火車所有信息外,它的管理功能被設(shè)計(jì)在了左上角菜單中,點(diǎn)擊并展開包含三個(gè)模塊,第一個(gè)模塊是“列車始發(fā)時(shí)刻表”,這與前臺(tái)用戶功能相似,這里不再重述。第二個(gè)與第三個(gè)模塊是對(duì)列車信息的增刪功能,詳情可見源程序Sha
12、nTrainNumber.java和addTrainNumber.java。(具體實(shí)現(xiàn)代碼參見篇末源程序)四、結(jié)果分析</p><p> 4.1前臺(tái)用戶服務(wù)系統(tǒng)</p><p> 4.1 .1用戶登錄</p><p><b> 4.1.2用戶注冊</b></p><p><b> 4.1.3訂票界面&l
13、t;/b></p><p> 4.1.4始發(fā)車時(shí)刻表</p><p><b> 4.1.5訂票界面</b></p><p> 4.1.6訂票信息查詢</p><p><b> 4.1.7退票功能</b></p><p> 4.2后臺(tái)管理員系統(tǒng)</p>
14、;<p> 4.2.1管理員登錄</p><p> 4.2.2管理員后臺(tái)操作系統(tǒng)</p><p> 4.2.3增加列車車次</p><p> 4.2.4刪除列車車次</p><p><b> 五、總 結(jié)</b></p><p> 在這次課程設(shè)計(jì)中,對(duì)于每個(gè)模塊的圖形界面
15、的設(shè)計(jì),我們主要利用了教材中第七章“圖形用戶界面的設(shè)計(jì)與實(shí)現(xiàn)”中的知識(shí),比如說布局管理器的設(shè)計(jì),容器組件的設(shè)計(jì),菜單的定義與使用等。對(duì)于每個(gè)模塊下的異常處理,我們參見了教材中第八章的“異常處理”中介紹的幾種方法。</p><p> 此外對(duì)于數(shù)據(jù)庫的連接,我們上網(wǎng)查閱了Java與SQL Server2014的連接方式,并設(shè)計(jì)了數(shù)據(jù)庫中的各個(gè)數(shù)據(jù)模型與關(guān)系,將Java程序的功能與數(shù)據(jù)庫中的數(shù)據(jù)操作緊密的聯(lián)系在了一起
16、。</p><p> 對(duì)于圖形界面的設(shè)計(jì),我們更多的使用了javax.swing包中的的類與方法,這大大增強(qiáng)了圖形界面的設(shè)計(jì)功能,Swing GUI中的組件的新特性為課設(shè)的界面布局與樣式增添了許多光彩。</p><p> 為了更能體現(xiàn)出面向?qū)ο蟪绦蛟O(shè)計(jì)的封裝,繼承,多態(tài),我們在程序設(shè)計(jì)中在同一包下設(shè)計(jì)了多個(gè)模塊,每個(gè)模塊中有大于等于一的類,它們在運(yùn)行中有序、穩(wěn)定地運(yùn)行著,這體現(xiàn)了程序良
17、好的封裝性;程序中大量使用了繼承與多態(tài)的功能,這使得代碼的重用性大大增強(qiáng),提高了代碼的效率與簡潔性。</p><p> 在全篇的程序設(shè)計(jì)中,所有的功能都是圍繞著用戶的需求而制定的,在滿足用戶的功能需求上,我們緊緊的圍繞了編程對(duì)數(shù)據(jù)的操作,做到了程序與數(shù)據(jù)的相輔相成。</p><p> 六、課程設(shè)計(jì)心得體會(huì)</p><p> 通過這次課程設(shè)計(jì),我們學(xué)會(huì)了許多面向
18、對(duì)象技術(shù)在實(shí)際生活中的應(yīng)用??偨Y(jié)我們遇到的困難與克服困難的心得,我們將其概括為以下三點(diǎn):</p><p> 在圖形界面的設(shè)計(jì)中,以前我們只是會(huì)些簡單的Java Appelt和Java Application程序,但是這次我們使用到了Swing GUI中的一些組件,并且利用了許多教材第七章“圖形用戶界面的設(shè)計(jì)與實(shí)現(xiàn)”中的內(nèi)容,這增長了我們的知識(shí),調(diào)高了我們的編程技能。</p><p>
19、在與SQL Server2014的連接中,我們遇到了諸多困難,比如說:如何進(jìn)行橋接,如何在程序里對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操作等。雖然這些困難以前我們都未曾遇到過,但通過我們耐心地解決,向周圍的同學(xué)、老師尋求幫助,以及上網(wǎng)查詢,最終我們還是解決了問題。</p><p> 這次課程設(shè)計(jì)我們在編寫程序上經(jīng)常遇到類似上述的兩個(gè)問題,但是我們從來都沒有放棄過、這是我們明白了在學(xué)習(xí)過程中的一個(gè)問題,只要你不曾放棄,困難總能在我
20、們一番掙扎之后被擊敗。</p><p><b> 參考文獻(xiàn)</b></p><p> Java語言與面向?qū)ο蟪绦蛟O(shè)計(jì)(第2版) 印旻 王行言 編著。</p><p><b> 源程序</b></p><p> Custom.java</p><p> package
21、 huochepiao;</p><p> import java.awt.*; </p><p> import java.awt.event.*; </p><p> import java.sql.*; </p><p> import javax.swing.*; </p><p> public c
22、lass Custom extends JFrame{ </p><p> public Custom(){ </p><p> JPanel p1=new JPanel(); </p><p> p1.setLayout(new FlowLayout(FlowLayout.CENTER,10,10)); </p><p> JL
23、abel jlb2=new JLabel(" 用戶名 "); </p><p> final JTextField jtfName=new JTextField(10); </p><p> JLabel jlb3=new JLabel(" 密 碼 "); </p><p> final JTextField j
24、tfScret=new JTextField(10); </p><p> JButton jbt1=new JButton("登 錄"); </p><p> JButton jbt2=new JButton("注 冊"); </p><p> p1.add(jlb2); </p><p>
25、 p1.add(jtfName); </p><p> p1.add(jlb3); </p><p> p1.add(jtfScret); </p><p> p1.add(jbt1); </p><p> p1.add(jbt2); </p><p> JPanel p2=new
26、JPanel(new FlowLayout(FlowLayout.CENTER,10,10)); </p><p> JPanel p3=new JPanel(new BorderLayout()); </p><p> JLabel jlb1=new JLabel("火車站訂票系統(tǒng)"); </p><p> p2.add(jlb1
27、); </p><p> p3.add(p2,BorderLayout.NORTH); </p><p> p3.add(p1,BorderLayout.CENTER); </p><p> add(p3,BorderLayout.CENTER); </p><p> jbt1.addActionListener(new Acti
28、onListener(){ </p><p> public void actionPerformed(ActionEvent e){ </p><p> connection(); </p><p> String name=jtfName.getText(); </p><p> String scret=jtfScret
29、.getText(); </p><p> String sql="select * from Passenger where Name='"+name+"' and Password='"+scret+"'"; </p><p> if(!name.equals("
30、;")||!scret.equals("")){ </p><p><b> try { </b></p><p> ResultSet rs = stat.executeQuery(sql); </p><p> if(rs.next()){ </p><p> setVisibl
31、e(false); </p><p> CustomLogin c=new CustomLogin(); </p><p> c.setTitle("火車站訂票系統(tǒng)"); </p><p> c.setSize(400,300); </p><p> c.show(); </p><
32、;p><b> } </b></p><p><b> else{ </b></p><p> JOptionPane.showMessageDialog(null,"對(duì)不起您的用戶名或密碼錯(cuò)誤"); </p><p><b> } </b></p>
33、<p> }catch (SQLException e1) { </p><p> e1.printStackTrace(); </p><p><b> } </b></p><p><b> } </b></p><p><b> else{ <
34、;/b></p><p> JOptionPane.showMessageDialog(null,"輸入不能為空"); </p><p><b> } </b></p><p><b> } </b></p><p><b> }); </b&g
35、t;</p><p> jbt2.addActionListener(new ActionListener(){ </p><p> public void actionPerformed(ActionEvent e){ </p><p> Zhuce z=new Zhuce(); </p><p> z.setTitle("
36、;信息注冊"); </p><p> z.setSize(250,300); </p><p> z.show(); </p><p><b> } </b></p><p><b> }); </b></p><p><b> } <
37、;/b></p><p> Connection conn; </p><p> Statement stat; </p><p> public void connection(){ </p><p><b> try { </b></p><p> Class.forName(
38、"com.microsoft.sqlserver.jdbc.SQLServerDriver"); </p><p> conn=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Train","董雪","123456"); </p
39、><p> stat=conn.createStatement(); </p><p> } catch (ClassNotFoundException e) { </p><p> e.printStackTrace(); </p><p> }catch (SQLException e){ </p><p>
40、 e.getSQLState(); </p><p> e.getMessage(); </p><p><b> } </b></p><p><b> } </b></p><p> public static void main(String[] args){ </p>
41、<p> Custom frame = new Custom(); </p><p> frame.setTitle("火車站訂票系統(tǒng)"); </p><p> frame.setLocationRelativeTo(null); </p><p> frame.setDefaultCloseOperation(JFrame
42、.EXIT_ON_CLOSE); </p><p> frame.setSize(400,250); </p><p> frame.setVisible(true); </p><p><b> } </b></p><p><b> }</b></p><p>
43、 CustomLogin .java</p><p> package huochepiao;</p><p> import java.awt.*; </p><p> import java.awt.event.ActionEvent; </p><p> import java.awt.event.ActionListener
44、; </p><p> import java.sql.*;</p><p> import javax.swing.*; </p><p> public class CustomLogin extends JFrame{ </p><p> public CustomLogin(){ </p><p>
45、 JPanel p1=new JPanel(new FlowLayout(FlowLayout.CENTER,10,10)); </p><p> JLabel jlb1=new JLabel("火車站訂票系統(tǒng)"); </p><p> p1.add(jlb1); </p><p> JPanel p2=new JPanel(new Gri
46、dLayout(5,1,10,10)); </p><p> JButton jbt1=new JButton("始發(fā)車時(shí)刻表查詢"); </p><p> JButton jbt2=new JButton(" 訂 票 "); </p><p> JButton jbt3=new JButton("訂
47、票信息查詢"); </p><p> JButton jbt4=new JButton("退票"); </p><p> p2.add(jbt1); </p><p> p2.add(jbt2); </p><p> p2.add(jbt3); </p><p> p2.add(
48、jbt4); </p><p> ImageIcon usIcon = new ImageIcon("image/flower.gif"); </p><p> JLabel jlb2=new JLabel(usIcon); </p><p> JPanel p3=new JPanel(new FlowLayout()); </p&g
49、t;<p> p3.add(jlb2); </p><p> JPanel p4=new JPanel(new BorderLayout()); </p><p> p4.add(p1,BorderLayout.NORTH); </p><p> p3.add(p2,BorderLayout.EAST); </p><p&
50、gt; p4.add(p3,BorderLayout.CENTER); </p><p> add(p4,BorderLayout.CENTER); </p><p> jbt4.addActionListener(new ActionListener(){ </p><p> public void actionPerformed(ActionEvent
51、e){ </p><p> JOptionPane.showMessageDialog(null,"退票成功"); </p><p> // String sql="delete * from AdmissionTicket where Name='"+name+"'; </p><p><
52、;b> } </b></p><p><b> });</b></p><p> jbt1.addActionListener(new ActionListener(){ </p><p> public void actionPerformed(ActionEvent e){ </p><p>
53、; TrainInformationQuery q=new TrainInformationQuery(); </p><p> q.setTitle("始發(fā)車時(shí)刻表查詢"); </p><p> q.setSize(330,400); </p><p> q.show(); </p><p><b>
54、 } </b></p><p><b> }); </b></p><p> jbt2.addActionListener(new ActionListener(){ </p><p> public void actionPerformed(ActionEvent e){ </p><p>
55、DingPiao d=new DingPiao(); </p><p> d.setTitle("訂票"); </p><p> d.setSize(450,230); </p><p> d.show(); </p><p><b> } </b></p><p>&
56、lt;b> }); </b></p><p> jbt3.addActionListener(new ActionListener(){ </p><p> public void actionPerformed(ActionEvent e){ </p><p> TicketQuery t=new TicketQuery(); &l
57、t;/p><p> t.setTitle("訂票信息查詢"); </p><p> t.setSize(500,250); </p><p> t.show(); </p><p><b> } </b></p><p><b> }); </b>
58、</p><p><b> } </b></p><p> public static void main(String[] args){ </p><p> CustomLogin c=new CustomLogin(); </p><p> c.setTitle("火車站訂票系統(tǒng)");
59、 </p><p> c.setSize(400,250); </p><p> c.setVisible(true); </p><p><b> } </b></p><p><b> }</b></p><p> Zhuce.java</p>&
60、lt;p> package huochepiao;</p><p> import java.awt.*; </p><p> import java.awt.event.ActionEvent; </p><p> import java.awt.event.ActionListener; </p><p> import
61、java.sql.Connection; </p><p> import java.sql.DriverManager; </p><p> import java.sql.SQLException; </p><p> import java.sql.Statement; </p><p> import javax.swing
62、.*; </p><p> public class Zhuce extends JFrame{ </p><p> public Zhuce(){ </p><p> JLabel jlb1=new JLabel("旅客注冊信息"); </p><p> JLabel jlb2=new JLabel("
63、 姓名 "); </p><p> JLabel jlb3=new JLabel(" 密碼 "); </p><p> JLabel jlb4=new JLabel(" 性別 "); </p><p> JLabel jlb5=new JLabel(" 身份證號(hào)"); </p>
64、<p> JLabel jlb6=new JLabel(" 工作"); </p><p> JLabel jlb7=new JLabel(" 電話"); </p><p> final JTextField jtf1=new JTextField(10); </p><p> final JTextFiel
65、d jtf2=new JTextField(10); </p><p> final JTextField jtf3=new JTextField(10); </p><p> final JTextField jtf4=new JTextField(10); </p><p> final JTextField jtf5=new JTextField(10)
66、; </p><p> final JTextField jtf6=new JTextField(10); </p><p> JButton jbt1=new JButton(" 注 冊 "); </p><p> JPanel p1=new JPanel(new FlowLayout(FlowLayout.LEFT,10,20
67、)); </p><p> JPanel p2=new JPanel(new GridLayout(7,2,10,10)); </p><p> JPanel p3=new JPanel(new BorderLayout(5,5)); </p><p> p2.add(jlb2); </p><p> p2.add(jtf1); &
68、lt;/p><p> p2.add(jlb3); </p><p> p2.add(jtf2); </p><p> p2.add(jlb4); </p><p> p2.add(jtf3); </p><p> p2.add(jlb5); </p><p> p2.add(jtf4);
69、 </p><p> p2.add(jlb6); </p><p> p2.add(jtf5); </p><p> p2.add(jlb7); </p><p> p2.add(jtf6); </p><p> p2.add(jbt1); </p><p> p3.add(p1,B
70、orderLayout.NORTH); </p><p> p3.add(p2,BorderLayout.CENTER); </p><p> add(p3,BorderLayout.CENTER); </p><p> jbt1.addActionListener(new ActionListener(){ </p><p>
71、public void actionPerformed(ActionEvent e){ </p><p> connection(); </p><p> String name=jtf1.getText(); </p><p> String password=jtf2.getText(); </p><p> String sex
72、=jtf3.getText(); </p><p> String id=jtf4.getText(); </p><p> String job=jtf5.getText(); </p><p> String tel=jtf6.getText(); </p><p> String sql="insert into P
73、assenger(Name,Password,Id,Tel,Sex,Job) values('"+name+"','"+password+"','"+id+"','"+tel+"','"+sex+"','"+job+"')&
74、quot;; </p><p><b> try { </b></p><p> stat.executeUpdate(sql); </p><p> } catch (SQLException e1) { </p><p> // TODO Auto-generated catch block </p&g
75、t;<p> e1.printStackTrace(); </p><p><b> } </b></p><p> setVisible(false); </p><p> JOptionPane.showMessageDialog(null,"恭喜您注冊成功"); </p>&l
76、t;p><b> } </b></p><p><b> }); </b></p><p><b> } </b></p><p> Connection conn; </p><p> Statement stat; </p><p
77、> public void connection(){ </p><p><b> try { </b></p><p> Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); </p><p> conn=DriverManager.ge
78、tConnection("jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Train","董雪","123456"); </p><p> stat=conn.createStatement(); </p><p> } catch (ClassNotFoundException e)
79、 { </p><p> // TODO Auto-generated catch block </p><p> e.printStackTrace(); </p><p> }catch (SQLException e2){ </p><p> e2.getSQLState(); </p><p> e2
80、.getMessage(); </p><p><b> } </b></p><p><b> } </b></p><p> public static void main(String[] args){ </p><p> Zhuce z=new Zhuce(); </p>
81、;<p> z.setTitle("火車票訂票系統(tǒng)"); </p><p> z.setSize(250,300); </p><p> z.setVisible(true); </p><p><b> } </b></p><p><b> } </b>
82、;</p><p> TrainInformationQuery.java</p><p> package huochepiao; </p><p> import java.awt.*; </p><p> import java.awt.event.ActionEvent; </p><p> impo
83、rt java.awt.event.ActionListener; </p><p> import java.sql.*; </p><p> import javax.swing.*; </p><p> import javax.swing.border.TitledBorder; </p><p> public class
84、 TrainInformationQuery extends JFrame{ </p><p> public TrainInformationQuery(){ </p><p> connection(); </p><p> JPanel p1=new JPanel(new FlowLayout(FlowLayout.CENTER)); </p
85、><p> JPanel p2=new JPanel(new FlowLayout(FlowLayout.CENTER)); </p><p> JPanel p3=new JPanel(new FlowLayout(FlowLayout.CENTER)); </p><p> JPanel p4=new JPanel(); </p><p&g
86、t; JLabel jlb1=new JLabel("火車站列車時(shí)刻表"); </p><p> final JTextArea jta=new JTextArea(10,20); </p><p> JLabel jlb2=new JLabel("車次"); </p><p> final JTextField jt
87、f=new JTextField(8); </p><p> JButton jbt1=new JButton("查詢"); </p><p> JButton jbt2=new JButton("全部火車信息"); </p><p> p1.add(jlb1); </p><p> p2.ad
88、d(jta); </p><p> p2.setBorder(new TitledBorder(" ")); </p><p> p3.add(jlb2); </p><p> p3.add(jtf); </p><p> p3.add(jbt1); </p><p> p3.add(jb
89、t2); </p><p> p4.add(p1,BorderLayout.NORTH); </p><p> p4.add(p2,BorderLayout.CENTER); </p><p> p4.add(p3,BorderLayout.SOUTH); </p><p> p4.setBorder(new TitledBorder
90、(" ")); </p><p> add(p4); </p><p> final String s=" 車次 始發(fā)地 終點(diǎn)站 始發(fā)時(shí)間 "; </p><p> String sql="select * from TrainNumber"
91、;; </p><p> String a = null; </p><p> String b = null; </p><p> String c = null; </p><p> String d = null; </p><p> String ss=null; </p><p&
92、gt;<b> try { </b></p><p> ResultSet rs = stat.executeQuery(sql); </p><p><b> ss=s; </b></p><p> while(rs.next()){ </p><p> a=rs.getString(&
93、quot;TrainNumber"); </p><p> b=rs.getString("DepartureStation"); </p><p> c=rs.getString("Terminal"); </p><p> d=rs.getString("DepartureTime");
94、 </p><p> ss=ss+"\n"+" "+a+" "+" "+b+" "+ " "+c+" "+" "+d+" "; </p><p>&l
95、t;b> } </b></p><p> } catch (SQLException e) { </p><p> // TODO Auto-generated catch block </p><p> e.printStackTrace(); </p><p><b> } </b><
96、;/p><p> jta.setText(ss); </p><p> jbt1.addActionListener(new ActionListener(){ </p><p> public void actionPerformed(ActionEvent e){ </p><p> String number=jtf.g
97、etText(); </p><p> String a1,b1,c1,d1; </p><p> String sql="select * from TrainNumber where TrainNumber='"+number+"'"; </p><p><b> try { </b&
98、gt;</p><p> ResultSet rs1 = stat.executeQuery(sql); </p><p> String sss=s; </p><p> while(rs1.next()){ </p><p> a1=rs1.getString("TrainNumber"); </p>
99、;<p> b1=rs1.getString("DepartureStation"); </p><p> c1=rs1.getString("Terminal"); </p><p> d1=rs1.getString("DepartureTime"); </p><p> sss=
100、sss+"\n"+" "+a1+" "+" "+b1+" "+ " "+c1+" "+" "+d1+" "; </p><p><b> }
101、 </b></p><p> jta.setText(sss); </p><p> } catch (SQLException e1) { </p><p> // TODO Auto-generated catch block </p><p> e1.printStackTrace(); </p>
102、<p><b> } </b></p><p><b> } </b></p><p><b> }); </b></p><p> jbt2.addActionListener(new ActionListener(){ </p><p>
103、 public void actionPerformed(ActionEvent e){ </p><p> String sql="select * from TrainNumber"; </p><p> String a = null; </p><p> String b = null; </p><p>
104、 String c = null; </p><p> String d = null; </p><p> String ss=null; </p><p><b> try { </b></p><p> ResultSet rs = stat.executeQuery(sql); </p>
105、<p><b> ss=s; </b></p><p> while(rs.next()){ </p><p> a=rs.getString("TrainNumber"); </p><p> b=rs.getString("DepartureStation"); &l
106、t;/p><p> c=rs.getString("Terminal"); </p><p> d=rs.getString("DepartureTime"); </p><p> ss=ss+"\n"+" "+a+" "+" "
107、+b+" "+ " "+c+" "+" "+d+" "; </p><p><b> } </b></p><p> } catch (SQLException e2) { </p><p> //
108、TODO Auto-generated catch block </p><p> e2.printStackTrace(); </p><p><b> } </b></p><p> jta.setText(ss); </p><p><b> } </b></p>
109、<p><b> }); </b></p><p><b> } </b></p><p> Connection conn; </p><p> Statement stat; </p><p> public void connection(){ </p>
110、;<p><b> try { </b></p><p> Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); </p><p> conn=DriverManager.getConnection("jdbc:sqlserver://127.0.
111、0.1:1433;DatabaseName=Train","董雪","123456"); </p><p> stat=conn.createStatement(); </p><p> } catch (ClassNotFoundException e) { </p><p> // TODO Auto-ge
112、nerated catch block </p><p> e.printStackTrace(); </p><p> }catch (SQLException e2){ </p><p> e2.getSQLState(); </p><p> e2.getMessage(); </p><p><
113、b> } </b></p><p><b> } </b></p><p> public static void main(String[] args){ </p><p> TrainInformationQuery q=new TrainInformationQuery(); </p><p
114、> q.setTitle("始發(fā)列車時(shí)刻表"); </p><p> q.setSize(330,400); </p><p> q.setVisible(true); </p><p><b> } </b></p><p><b> } </b></p&
115、gt;<p> DingPiao.java</p><p> package huochepiao;</p><p> import java.awt.*; </p><p> import java.awt.event.ActionEvent; </p><p> import java.awt.event.Acti
116、onListener; </p><p> import java.sql.Connection; </p><p> import java.sql.DriverManager; </p><p> import java.sql.ResultSet; </p><p> import java.sql.SQLException;
117、</p><p> import java.sql.Statement; </p><p> import javax.swing.*; </p><p> import javax.swing.border.TitledBorder; </p><p> public class DingPiao extends JFrame{ &
118、lt;/p><p> String trainnum=null; </p><p> String dstation=null; </p><p> String ordernum; </p><p> String seattype1; </p><p> String seattype2; </p>
119、;<p> String name; </p><p> String sql; </p><p> ResultSet rs; </p><p> String sstation=null; </p><p> public DingPiao(){ </p><p> JPanel p1
120、=new JPanel(new GridLayout(2,1,5,5)); </p><p> JPanel p2=new JPanel(new GridLayout(3,4,5,5)); </p><p> JPanel p3=new JPanel(new GridLayout(1,4,5,5)); </p><p> //JPanel p4=new JPa
121、nel(new GridLayout()); </p><p> JLabel jlb1=new JLabel("1 訂票時(shí)間必須為三天以內(nèi)的票"); </p><p> JLabel jlb2=new JLabel("2 本系統(tǒng)只屬模擬不涉及票額的計(jì)算"); </p><p> JLabel jlb3=new JLab
122、el("車次"); </p><p> JLabel jlb4=new JLabel("始發(fā)車站"); </p><p> JLabel jlb5=new JLabel("訂票號(hào)碼"); </p><p> JLabel jlb6=new JLabel("終點(diǎn)站"); </p
123、><p> ButtonGroup group=new ButtonGroup(); </p><p> final JRadioButton jrb1=new JRadioButton("硬座"); </p><p> final JRadioButton jrb2=new JRadioButton("臥鋪"); <
124、/p><p> group.add(jrb1); </p><p> group.add(jrb2); </p><p> //JLabel jlb9=new JLabel(" "); </p><p> //JLabel jlb8=new JLabel(" "); </p><
125、p> JLabel jlb10=new JLabel(" 姓 名 "); </p><p> final JTextField jft1=new JTextField(8); </p><p> final JTextField jft2=new JTextField(8); </p><p> final JTextField j
126、ft3=new JTextField(8); </p><p> final JTextField jft4=new JTextField(8); </p><p> final JTextField jft5=new JTextField(8); </p><p> JButton jbt1=new JButton("打印預(yù)覽");
127、 </p><p> final JButton jbt3=new JButton(" 訂 票 "); </p><p> p1.add(jlb1); </p><p> p1.add(jlb2); </p><p> p1.setBorder(new TitledBorder(""));
128、 </p><p> p2.add(jlb3); </p><p> p2.add(jft1); </p><p> p2.add(jlb4); </p><p> p2.add(jft2); </p><p> p2.add(jlb5); </p><p> p2
129、.add(jft3); </p><p> p2.add(jrb1); </p><p> p2.add(jrb2); </p><p> p2.add(jlb10); </p><p> p2.add(jft4); </p><p> p2.add(jlb6); </p><p
130、> p2.add(jft5); </p><p> p3.add(jbt1); </p><p> p3.add(jbt3); </p><p> // p3.add(jlb8); </p><p> // p3.add(jlb9); </p><p> add(p1,BorderL
131、ayout.NORTH); </p><p> add(p2,BorderLayout.CENTER); </p><p> add(p3,BorderLayout.SOUTH); </p><p> jbt3.addActionListener(new ActionListener(){ </p><p> public v
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 【課程設(shè)計(jì)】面向?qū)ο蟪绦蛟O(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 課程設(shè)計(jì)——飛機(jī)訂票系統(tǒng)程序設(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 《面向?qū)ο蟮某绦蛟O(shè)計(jì)》課程設(shè)計(jì)
- 火車訂票系統(tǒng)課程設(shè)計(jì)
- java課程設(shè)計(jì)--java面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)---java日歷
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)java日歷
- 面向?qū)ο蟪绦蛟O(shè)計(jì)學(xué)生選課系統(tǒng)課程設(shè)計(jì)報(bào)告
- 面向?qū)ο蟮某绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告
- java面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)程序設(shè)計(jì)
- 《c++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告--訂票系統(tǒng)
- c++面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)——計(jì)算器
- c面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)-人事管理系統(tǒng)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)--校友錄管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論